Jump to content
php.lv forumi

Laravel programmētāji


ViktorsN

Recommended Posts

  • Replies 300
  • Created
  • Last Reply

Top Posters In This Topic

Pieņemsim, es vai kāds cits iztulko. Kas notiek tālāk - tie 4 failiņi jāliek kā pull request tam čalim, kuram tas repo ar pārējiem tulkojumiem? Vai var kaut kādu diskusiju taisīt, kur citi var pielabot tulkojumus? Vai jātaisa savs forks?

Link to comment
Share on other sites

  • 2 weeks later...

Dažas pārdomas. Tika solīts, ka visādi labumi, utt, gatava lapa jau dažās minūtēs. Larakāsti, kas visu izskaidros un parādīs.

 

Realitāte:

- Piemēram, datuma lauki it kā vienkārši, viss magically notiek caur Carbon. Nu super nu! Bet dzīvē tāpat jāpārbauda, vai formāts pareizs, vai vēl tas un šitas un ātri vien tas piemēriņš, ka modelim ar atribūtu $dates automātiski piešķil zvērīgi daudz funkcionalitātes izvēršas par to, ka tāpat jāstudē, kas tas tāds Carbon tāds ir un kā apstrādāt izņēmumsituācijas.

 

Nu un daudz kas tāds. Pasniegts kā Īzī, pīzī un beigās ierocies stackoverflowā un API dokumentācijā.

 

Mazliet sajūta kā zivij, kas iemānīta tīklā. :D

Link to comment
Share on other sites

Dažas pārdomas. Tika solīts, ka visādi labumi, utt, gatava lapa jau dažās minūtēs. Larakāsti, kas visu izskaidros un parādīs.

 

Realitāte:

- Piemēram, datuma lauki it kā vienkārši, viss magically notiek caur Carbon. Nu super nu! Bet dzīvē tāpat jāpārbauda, vai formāts pareizs, vai vēl tas un šitas un ātri vien tas piemēriņš, ka modelim ar atribūtu $dates automātiski piešķil zvērīgi daudz funkcionalitātes izvēršas par to, ka tāpat jāstudē, kas tas tāds Carbon tāds ir un kā apstrādāt izņēmumsituācijas.

 

Nu un daudz kas tāds. Pasniegts kā Īzī, pīzī un beigās ierocies stackoverflowā un API dokumentācijā.

 

Mazliet sajūta kā zivij, kas iemānīta tīklā. :D

 

Carbon automātiski parasti ir updated, created, deleted, kas it kā ar roku nemaz nebūtu jāaiztiek (jāseto). Ja vajag updated lauku pamainīt, tad $model->touch(); laikam bija.

 

Ja vajag uzsetot datumu, tad $model->date = Carbon::parse($_POST['datums']) vai vēl labāk, ja zināms konkrēts formāts: echo Carbon::createFromFormat('Y-m-d H', '1975-05-21 22')->toDateTimeString(); // 1975-05-21 22:00:00

 

Imho Carbon ir viens no ērtākajiem libiem ever, un automātiskā datumu konvertēšana modeļiem ir super ērta.

 

Soft delete, automātiskā aizpildīšana created, updated laukiem ir vnk aaah, cik ērti!

Link to comment
Share on other sites

Piekrītu, ka ir ērti. Bet nu jāmācās gan daudz un beigās lai rezultāts būtu cienīgā kvalitātē, tāpat jāiedziļinās, kaut vai lai saprastu, kurā brīdī tās automātiskās lietas nedraud ar Exception. Ja tagad būtu vēl kāds FW jāmācās (piemēram, piedāvātu uzturēt kaut ko no Cake vai Yii), skippotu. Izskatās, ka labā līmenī pārzināt vairākus FW vienlaicīgi ir nereāli. Nezinu, kā citiem.

Edited by Mr.Key
Link to comment
Share on other sites

Yii2 tādā ziņā vienkāršāks, un daudzos gadījumos lai atrastu kādas atbildes kā strādā kautkas, pietika ar ctrl+click un apskatīties uzreiz sourcē kodu, nevis meklēt internetā. Laravelā bieži vien tu atdursies pret kādu fasādi vai interfeisu. 

Ja vienlaicīgi būtu jāstrādā gan pie Yii, gan pie Laravel domāju ka nebūtu problēmu zināt labā līmenī abus. Nav jau nemaz tāds kosmoss. 

Link to comment
Share on other sites

Vai kāds gudrāks varētu lūdzu ar piemēriem izstāstīt kam īsti domāti Service Providers iekš Laravel? Es saprotu ko var likt vienkārši Servicā, kopumā saprotu arī kam domāti interfeisi un fasādes, bet šie Service Provideri vienalga nav īsti saprotami. Es tur pagaidam esmu salicis View Composerus, bet man šķiet ka tur ir vēl kāds apslēptais spēks ko es nespēju līdz galam izprast..

Link to comment
Share on other sites

https://laravel.com/docs/5.1/providers

 

 

Service providers are the central place of all Laravel application bootstrapping. Your own application, as well as all of Laravel's core services are bootstrapped via service providers.

But, what do we mean by "bootstrapped"? In general, we mean registering things, including registering service container bindings, event listeners, middleware, and even routes. Service providers are the central place to configure your application.

 

Aplikācija lādē servisa provaiderus, savukārt servisa provaideri ielādē/konfigurē jau konkrētu servisus. Izmantojot provaideri vari aizstāt vienu servisu ar citu, ieladēt papildus servisus, samapot interfeisus pret konkrētām implementācijām utt. Pa lielam, service provider is servisu konfigurators. 

Link to comment
Share on other sites

Vai kāds gudrāks varētu lūdzu ar piemēriem izstāstīt kam īsti domāti Service Providers iekš Laravel? Es saprotu ko var likt vienkārši Servicā, kopumā saprotu arī kam domāti interfeisi un fasādes, bet šie Service Provideri vienalga nav īsti saprotami. Es tur pagaidam esmu salicis View Composerus, bet man šķiet ka tur ir vēl kāds apslēptais spēks ko es nespēju līdz galam izprast..

 

Reāls use case: dev serveris glabā lietotāju failus uz diska, bet uz produkcijas servera glabāšana notiek uz S3

 

$this->app->bind('custom-file-storage', function () {
	if (env('APP_ENV') == 'local') {
		return Storage::disk('local-file-storage');
	}
	return Storage::disk('s3-file-originals');
});
	
	
$this->app->bind(MyFileLibrary::class, function () {
	return new MyFileLibrary(app('custom-file-storage'));
});

Katru reizi, kā kontrolierī, vai jebkur typehintosi MyFileLibrary vai ņemsi no konteinera, tā tev uzreiz būs jau nokonfigurēta LIbrary instance, kas darbojas ar vajadzīgo storage'u.

 

Tā pat es daru arī ar kkādiem API libiem, kam jāinicializē dažādi api key'i utt.

 

$this->app->bind(PrintfulApi::class, function () {
            return new PrintfulApi(env('PRINTFUL_API_KEY'));
});
un tad kontrolierī vai libos var lietot easy, nav jādomā par inicializēšanām utt
 
class TestController
{
    public function doStuff(PrintfulApi $api)
    {
        $api->post('something');
    }
}
 
Link to comment
Share on other sites

Blitz, tur tā lieta, ka biju pieradis pie tā click+click. Tagad jūtos kā diletants, kurš reizi minūtē gūglē. Lai saprastu, kas notiek un kā notiek. It kā jau phpStormam ir visādi tūļi, bet nu vēl neesmu atradis tik ērtu variantu, kā ar citiem - piemēram, tas pats Eclipse PDT ar citiem ietvariem liekas daudz ērtāks tieši OOP koda daļai.

 

Tā jau, protams, ar katru dienu saprotu, un arī šeit var redzēt, ka iespējas tiešām ir daudz un labas, tikai tas izstrādes process nav tik intuitīvs. Droši vien vēlāk tas mainīsies.

 

Yii negribētu apgūt, jo otrais ietvars, uz kuru specializējos, jau ir cits un paralēli visam šim vajag arī kko no angular, react un frontend lietām piemācīties klāt, jo frontend pusē jau arī viss mežonīgi progresē. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...