Verdienen Sie Geld mit Ihren Tech-Blogs, Gadgets und Tipps

Kuinka kirjoitan paketteja Laravelille?

Huomautus: Seuraava artikkeli auttaa sinua: Kuinka kirjoittaa paketteja Laravelille?

Yksi Laravelin tärkeimmistä osista Puitekoulutus on, että osaa kirjoittaa paketteja. Itse asiassa paketit ovat ominaisuuksia, joiden avulla voit lisätä uusia toimintoja sivustollesi. Ohjelmointiprosessia parantavat ja ohjelmoijat helpottavat ohjelmat voivat käyttää paketteja missä tahansa. On olemassa erilaisia ​​paketteja, kuten itsenäisiä paketteja, joita voidaan käyttää kaikissa PHP-kielikehyksessä (Carbon- ja Behat-paketit), Laravel-spesifisiä paketteja ja muita paketteja. Tämän artikkelin loppuosassa keskustelemme tärkeistä kohdista pakettien kirjoittamisesta Laravelissa. Kun olet lukenut tämän artikkelin, voit aloittaa pakettien luomisen Laravelissa ja suunnitella haluamasi paketit tähän suosittuun ja tehokkaaseen kehykseen, jotta myös muut ihmiset ja ohjelmoijat voivat käyttää pakettejasi.

Laravel-ohjelmaa kirjoitettaessa ei ole väliä, käytätkö sopimuksia vai julkisivuja, sillä molemmilla on sama testattavuus. Paketteja kirjoitettaessa paketillasi ei kuitenkaan ole pääsyä kaikkiin Laravelin testiapuisiin. Tässä tapauksessa, jos haluat kirjoittaa omia pakettitestejä, voit käyttää Orkesteritestipenkki Paketti.

Pakettien tunnistus

Laravel-sovelluksen config/app.php-tiedostossa luettelo palveluntarjoajista, jotka sovelluksen tulee ladata, on lueteltu Palveluntarjoajat-osiossa seuraavasti. Kun joku asentaa pakettisi, haluat palveluntarjoajasi sisällytettäväksi tähän luetteloon. Sen sijaan, että pakottaisit käyttäjiä lisäämään palveluntarjoajasi luetteloon, voit määrittää palveluntarjoajan paketin lisäosiossa composer.json-tiedostossa. Palveluntarjoajien lisäksi voit määrittää myös julkisivut, jotka haluat rekisteröidä.

“extra” : { “laravel” : { “palveluntarjoajat”: [“Barryvdh \\ Debugbar \\ ServiceProvider”] “aliakset” : { “Debugbar” : “Barryvdh \\ Debugbar \\ Facade” } } } ,

Kun paketti on määritetty Discoveryä varten, Laravel rekisteröi automaattisesti palveluntarjoajansa ja julkisivunsa asennuksen aikana, mikä mahdollistaa helpon ja nopean asennuksen käyttäjille, jotka haluavat käyttää pakettiasi.

Lue lisää:

Vältä pakettien havaitsemista

Jos olet paketin kuluttaja ja haluat poistaa paketin tunnistuksen käytöstä, voit lisätä paketin nimen sovelluksesi composer.json-tiedoston lisäosioon.

“extra” : { “laravel” : { “älä löydä” : [“barryvdh / laravel-debugbar”]} } ,

Lisäksi, jos haluat poistaa pakettien tunnistuksen käytöstä kaikista paketeista, voit käyttää *-symbolia alla olevan kuvan mukaisesti.

“extra” : { “laravel” : { “älä löydä” : [“*”]} } ,

palveluntarjoaja

Palveluntarjoajat ovat silta sovelluksesi ja haluamasi paketin välillä. Yksi palveluntarjoajan tärkeimmistä ominaisuuksista on, että se lataa pakettien, näkymien ja asetustiedostojen resurssit, jotta voit helposti käyttää niitä.

Palveluntarjoajat perivät Illuminate\Support\ServiceProvider-luokasta, ja niillä on kaksi pääasiallista käynnistys- ja rekisteröintimenetelmää, jotka suorittavat suurimman osan toiminnoista. On myös huomattava, että Basic Service Provider -luokka on illuminate/supportissa, mikä meidän on lisättävä pakettiriippuvuuksiimme.

Rakentaminen

Normaalisti sinun tulee sijoittaa paketin määritystiedosto ohjelmasi hakemistoon nimeltä config. Näin pakettiasi käyttävät käyttäjät voivat helposti muuttaa paketin oletuskokoonpanoasetuksia mielensä mukaan.

public function boot() { $this -> julkaistu([__DIR__ . ‘/path/to/config/courier.php’ => config_path ( ‘courier.php’ ),]); }

Kun pakettikäyttäjät suorittavat Laravel-palveluntarjoajan tai julkaisukomennon, tiedostosi kopioidaan nopeasti julkaisusijaintiin. Kun määritykset on jaettu, voit käyttää sen arvoja kuten mitä tahansa muuta asetustiedostoa.

$arvo = config ( ‘courier.option’ );

Paketin oletuskokoonpanot

Voit helposti yhdistää paketin määritystiedoston julkaistun ohjelman kopioon. Näin käyttäjät voivat määrittää haluamasi asetukset konfigurointitiedoston julkaistussa kopiossa. Voit myös käyttää mergeConfigFrom-menetelmää konfiguraatioiden yhdistämiseen palveluntarjoajan rekisterimenetelmässä.

julkinen toimintorekisteri () this $ this -> mergeConfigFrom ( __DIR__ . ‘ /path/to/config/courier.php’ , ‘kuriiri’ ); }

Reitit

Jos paketissasi on yksi tai useampia reittejä, voit ladata ne menetelmän latausreiteillä. Jos ohjelman reitit ovat välimuistissa etkä voi ladata reittejä, tämä menetelmä toimii automaattisesti.

public function boot () { $ this -> loadRoutesFrom ( __DIR__ . ‘/routes.php’ ); }

Muuttoliikkeet

Jos paketissasi on yksi tai useampi siirto, voit lähettää ne Laravelille “lataa siirrot kohteesta” -menetelmällä, jotta voit ladata ne. Metodin kuormitussiirrot hyväksyvät pakettien siirtojen polun ainoana argumenttina.

public function boot () this $ this -> loadMigrationsFrom ( __DIR__ . ‘ / polku / to / migrations’ ); }

Kun olet rekisteröinyt pakettisiirtosi, kaikki siirrot suoritetaan automaattisesti, kun PHP artisan migrate -komento suoritetaan.

Tehtaat

Jos paketissasi on yksi tai useampi tekijä, voit lisätä ne Laraveliin loadFactoryFrom-menetelmällä, jotta voit ladata ne. loadFactoryesFrom-menetelmä hyväksyy pakettitehtaiden polun ainoaksi argumentiksi.

public function boot () this $ this -> loadFactoryFrom ( __DIR__ . ‘ / polku / to / tehtaat’ ); }

Kun olet rekisteröinyt pakettitehtaita, voit käyttää niitä hakemuksessasi.

Tehdas(Paketti\Nimiavaruus\Malli::luokka) -> luo();

Käännökset

Jos paketissasi on yksi tai useampi käännöstiedosto, voit lähettää ne menetelmästä Laraveliin Lataa käännökset -menetelmällä, jotta voit ladata ne. Jos pakettisi on esimerkiksi nimeltään “Curier”, voit tehdä seuraavasti.

public function boot () this $ this -> loadTranslationsFrom ( __DIR__ . ‘ / polku / to / translators’ , ‘kuriiri’ ); }

Voit ladata kuriiripaketin ja sen tervetulokomennon seuraavasti.

echo trans(‘kuriiri::viestit.tervetuloa’);

Käännösten julkaiseminen

Jos haluat julkaista paketin käännökset resurssit/lang/vendor-hakemistoon tai sovelluksesi osioon, voit käyttää palveluntarjoajan julkaisumenetelmää. Julkaistu menetelmä hyväksyy joukon pakettipolkuja ja niiden halutut julkaisupaikat. Voit esimerkiksi julkaista Courier-paketin käännöstiedostoja seuraavasti:

public function boot () this $ this -> loadTranslationsFrom ( __DIR__ . ‘ / polku / to / translators’ , ‘kuriiri’ ); $ tämä -> julkaistu ([__DIR__ . ‘/ path / to / translations’ => resource_path ( ‘lang / vendor / courier’ ),]); }

Kun pakettisi käyttäjät suorittavat Laravel-palveluntarjoajan tai julkaisevat Artisan-komennon, käännöspakettisi julkaistaan ​​tiettyyn julkaisupaikkaan.

Näkymät

Rekisteröidäksesi pakettinäkymäsi, sinun on kerrottava Laravelille, missä näkymät sijaitsevat. Voit tehdä tämän käyttämällä palveluntarjoajan menetelmän latausnäkymiä. Metodin latausnäkymät hyväksyvät kaksi argumenttia näkymäpolulle ja paketin nimelle. Jos pakettisi nimi on esimerkiksi “Curier”, voit syöttää seuraavanlaisia ​​koodeja palveluntarjoajan käynnistysmenetelmään.

public function boot () this $ this -> loadViewsFrom ( __DIR__ . ‘ / polku / to / view’ , ‘kuriiri’ ); }

Kun näkymäpolkusi on rekisteröity palveluntarjoajalle, voit valita haluamasi näkymän, esim. B. “admin”, kuorma kuriirilta.

Route :: get ( ‘admin’ , function () { return view ( ‘kuriiri :: admin’ ); });

Kirjoita pakettinäkymät uudelleen

Kun kirjoitat uudelleen tai korvaat paketin näkymiä ja käytät Load Views -menetelmää, Laravel rekisteröi ensin kaksi sijaintia näkymillesi, nimittäin ohjelman resurssit/näkymät/toimittaja-kansion ja määrittämämme hakemiston. Oletetaan tässä esimerkissä, että haluamme käyttää kuriiripalvelua. Ensin Laravel tarkistaa, tarjoaako kehittäjä mukautetun version Viewsta resursseissa/näkymissä/toimittajassa/kuriirissa.

Jos View-Sovelluksesta ei ole mukautettua versiota, Laravel etsii hakemistoa tai näkymän sijaintia, jonka latasimme samalla menetelmällä Viewsin lataamiseen. Näin pakettiasi käyttävät käyttäjät voivat muokata pakettinäkymiäsi helposti mieleisekseen.

Julkaise näkymät

Jos haluat, että näkymät julkaistaan ​​resurssit/näkymät/toimittajahakemistoon tai -osioon, voit käyttää palveluntarjoajan julkaisumenetelmää. Tämä menetelmä hyväksyy taulukon, joka sisältää pakettinäkymäpolut ja mukautetut julkaisusijainnit.

پ public function boot () this $ this -> loadViewsFrom ( __DIR__ . ‘ / polku / to / view’ , ‘courier’ ); $ tämä -> julkaistu ([__DIR__ . ‘/ path / to / views’ => resource_path ( ‘views / vendor / courier’ ),]); }

Kun pakettikäyttäjät suorittavat vendor:Publish -ohjelman, pakettinäkymäsi kopioidaan nopeasti julkaisusijaintiin.

Näytä komponentit

Jos paketissasi on yksi tai useampi View-komponentti, voit lisätä ne Laraveliin loadViewComponentsAs-menetelmällä, jotta voit ladata ne. loadViewComponentsAs-menetelmä hyväksyy kaksi View Components -tunnisteen etuliiteargumenttia ja joukon View Component -luokkia.

Jos pakettisi etuliite on esimerkiksi Courier ja sinulla on hälytys ja Näytä komponentit -painike, voit syöttää seuraavanlaisia ​​koodeja palveluntarjoajan käynnistystapaan.

public function boot() this $this -> loadViewComponentsAs(‘courier’, [Alert :: class,Button :: class,]); }

Kun näkymäkomponentit on rekisteröity palveluntarjoajiisi, voit käyttää niitä seuraavissa näkymissä.

< x-courier-alert /> < x-courier-button />

komennot

Voit käyttää komentotoimintoa rekisteröidäksesi pakettikomennot Laraveliin. Tämä funktio ottaa syötteeksi joukon komentoluokan nimiä. Kun komennot rekisteröidään ensimmäistä kertaa, voit suorittaa ne CLI:stä:

public function boot () { if ( $ this -> app-> runningInConsole ()) this $ this -> komennot ([FooCommand :: class,BarCommand :: class,]); } }

Julkinen omaisuus

Paketti voi sisältää sisältöä, kuten JavaScriptiä, CSS:ää ja kuvia. Näiden resurssien julkaiseminen ohjelman julkiseen kansioon. Voit käyttää palveluntarjoajan Publishes-menetelmää. Seuraavassa esimerkissä lisäämme julkaistuun menetelmään niin sanotun julkisen omaisuuden ryhmätunnisteen.

public function boot() this $this -> julkaistu([__DIR__. ‘ / path / to / assets’ => public_path ( ‘vendor / courier’ ),], ‘julkinen’ ); }

Kun pakettikäyttäjät suorittavat Vendor: Publish -ohjelman, pakettiresurssit kopioidaan nopeasti julkaisusijaintiin. Koska resurssit on yleensä korvattava tai kirjoitettava uudelleen joka kerta. Jos päivität paketin, voit käyttää voimaa – komennon lopussa.

PHP Artisan Provider: Publish –tag = public –force

Julkaise tiedostoryhmät

Joskus saatat haluta julkaista paketin julkisten resurssien ryhmät ja resurssit erikseen. Voit esimerkiksi antaa käyttäjien julkaista pakettikokoonpanosi ilman, että heidän tarvitsee julkaista omaisuuttaan. Voit tehdä tämän merkitsemällä ne, kun soitat julkaistuun menetelmään palveluntarjoajan paketista.

Oletetaan, että haluat määrittää kaksi julkaisuryhmää palveluntarjoajan paketin käynnistysmenetelmässä tunnisteiden avulla.

public function boot() this $this -> julkaistu([__DIR__. ‘ /../config/package.php’ => config_path ( ‘package.php’ )], ‘config’); $ tämä -> julkaistu ([__DIR__ . ‘/../database/migrations/’ => database_path ( ‘migrations’ )], ‘Migrations’ ); }

Pakettiasi käyttävät käyttäjät voivat nyt julkaista nämä ryhmät yksitellen käyttämällä tunnisteitaan, kun Vendor:Publish suoritetaan.

PHP-artistien tarjoaja: publish –tag = config

Diplomi:

Paketin ammattimaisen kirjoittamisen oppiminen Laravelissa voi olla yksi jokaisen Laravel-ohjelmoijan suurimmista tarpeista. Monet Swing-ohjelmoijat käyttävät nykyään valmiita paketteja Parantaakseen ohjelmiensa laatua. Sen sijaan, että kirjoittaisit koodia tyhjästä itse. Paketteja, joissa on erilaisia ​​haavoittuvuuksia tai muita bugeja, käytetään harvemmin ja ehkä muutaman kuukauden kuluttua, kun toinen paketti, jossa on samat ominaisuudet, julkaistaan. Kuitenkin, jos virheitä on vähemmän, mikään muu ohjelma ei yleensä käytä pakettia. Älä kirjoita.

Luomasi paketit ovat yksi ansioluettelosi suurimmista vahvuuksista sekä Iranissa että toisessa maassa työllistyessä.