Paranna Laravel-koodausstandardejasi GrumPHP: n avulla
Riippumatta siitä, oletko kokenut kehittäjä vai tuoreempi, sinun tulisi parantaa koodausstandardejasi tullaksesi paremmaksi kehittäjäksi. Joko työskentelet yksin tai tiimin kanssa, on aina hyvä käytäntö olla samat koodauskäytännöt koko projektin ajan. Mutta samojen standardien ylläpito kaikissa paikoissa ei ole helppoa, jos tarkistamme sen manuaalisesti. Saattaa tapahtua, että menetit standardin, vaikka päätitkin noudattaa sitä. Se on inhimillinen virhe, unohdimme joskus asioita, joita meidän ei pitäisi. Tällaisten ongelmien estämiseksi meidän pitäisi automatisoida työnkulku. Tekemällä niin, automaattinen järjestelmämme huolehtii meille osoittamastamme tehtävästä ja 99,99% ajasta ei koskaan epäonnistu.
GrumPHP on kirjasto, joka pitää silmällä jokaista sitoutumistasi. Jos koodisi ei noudata annettuja standardeja, kirjasto ei salli koodin antamista. Korjaa koodi ensin ja sitten vain sinä pystyt sitoutumaan Gitiin.
Kuulostaa hyvältä? Katsotaanpa se toiminnassa.
Päästä alkuun
Kun puhumme Laravel-koodausstandardeista, sinulla pitäisi olla Laravel-projektiasetus. Jos sinulla ei ole sitä, asenna se komennolla:
composer create-project --prefer-dist laravel/laravel laravel-dev
Tässä ‘laravel-dev’ on projektisi nimi. Avaa pääte projektisi juurihakemistossa ja alusta git.
git init
Git on pakollinen projektissasi, jotta voit hyödyntää GrumPHP: tä. Tässä se toimii. Kun asennamme GrumPHP: n, se luo koukun .git
kansioon ja seuraa sitten jokaista sitoutumista.
Lisää nyt ja sitouta nykyiset tiedostosi gitiin käyttämällä alla olevia komentoja yksi kerrallaan.
git add -A
git commit -m 'initial commit'
Paranna Laravel-koodausstandardia GrumPHP: n avulla
Kun Laravel-projektissamme on git-määritys, on hyvä asentaa GrumPHP-kirjasto. Asenna se suorittamalla seuraava komento:
composer require --dev phpro/grumphp
Kun paketti on asennettu, sinun tulee nähdä alla oleva viesti terminaalissa:
Varo! GrumPHP haistaa sitoutumistasi!
Se tarkoittaa, että paketti on asennettu onnistuneesti. Seuraavaksi avaa grumphp.yml
tiedosto ja lisää siihen alla oleva koodi.
parameters:
git_dir:. bin_dir: vendor/bin
tasks: {
phpcs: {
standard: PSR2
}
}
Yllä olevassa koodissa tärkeä osa on rivi standard: PSR2
. Tässä kerrotaan GrumPHP: lle, että se tarkistaa PSR2-koodauskäytännöt tiedostoihin, jotka aikovat sitoutua. Käytimme PSR2: ta täällä, koska Laravel noudattaa PSR2-koodausstandardeja. Tämän jälkeen GrumPHP suorittaa tehtävänsä ja ilmoittaa meille virheestä konsolissa, jos se löytyy.
Jos et ole asentanut koodauksen vakiokirjastoa, asenna se suorittamalla alla oleva komento:
composer require "squizlabs/php_codesniffer=*"
Tämän kirjaston ytimessä on PSR2-koodausstandardit. Joten, GrumPHP tarkistaa Laravel-koodisi PSR2: n perusteella ja ehdottaa muutoksia, jos et noudata PSR2-standardeja.
Oletetaan ImageController.php
, että projektissamme on tiedosto ja että siinä on seuraava koodikappale.
public function store(Request $request)
{
if($request->hasFile('profile_image')) {
//get filename with extension
$filenamewithextension = $request->file('profile_image')->getClientOriginalName();
//get filename without extension
$filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);
//get file extension
$extension = $request->file('profile_image')->getClientOriginalExtension();
//filename to store
$filenametostore = $filename.'_'.time().'.'.$extension;
//Upload File
$request->file('profile_image')->storeAs('public/profile_images', $filenametostore);
if(!file_exists(public_path('storage/profile_images/crop'))) {
mkdir(public_path('storage/profile_images/crop'), 0755);
}
// crop image
$img = Image::make(public_path('storage/profile_images/'.$filenametostore));
$croppath = public_path('storage/profile_images/crop/'.$filenametostore);
$img->crop($request->input('w'), $request->input('h'), $request->input('x1'), $request->input('y1'));
$img->save($croppath);
// you can save crop image path below in database
$path = asset('storage/profile_images/crop/'.$filenametostore);
return redirect('image')->with(['success' => "Image cropped successfully.", 'path' => $path]);
}
}
Yritä sitten sitoa yllä oleva koodi ja sinun pitäisi nähdä ulostulo jotain alla olevaa:
Se antaa koodausvirheen yksityiskohdissa sekä rivinumeron ja kuvauksen. Saatat myös huomata rivin:
PHPCBF VOI KORJATAA AUTOMAATTISESTI 2 MERKITTYJÄ SNIFF-RIKKOMUSTEN
Kuinka käyttää PHPCBF-komentoa
Suorittamalla PHPCBF-komento voimme korjata joitain virheitä automaattisesti. Siirry päätelaitteesta ‘vendor / bin’ -hakemistoon ja suorita alla oleva komento korjataaksesi virheet PHPCBF: n avulla.
PHPCBF --standard=PSR2 PATH_TO_YOUR_CONTROLLER
Korvaa paikkamerkki todellisilla arvoilla. Todennäköisesti, jos käytät tätä komentoa Git bashissa, saat virheilmoituksen ‘bash: phpcbf: komentoa ei löydy’. Suorita tällöin tämä komento Windowsin komentokehotteessa. Meidän tapauksessamme näemme seuraavan lähdön päätelaitteessa.
Muista, että kaikkia virheitä PHPCBH ei ole ratkaissut. Joskus sinun on ratkaistava virhe myös manuaalisesti. Nyt kun yrität sitouttaa koodin, sinun pitäisi saada menestysviesti ja koodi sitoutua myös.
Lopulliset ajatukset
Tässä opetusohjelmassa olemme keskustelleet Laravel-koodausstandardien parantamisesta GrumPHP: n avulla. Mutta se ei rajoitu vain Laraveliin. Voit käyttää tätä kirjastoa myös muussa CMS: ssä, kehyksissä. Käytämme GrumPHP-kirjastoa Laravel-, WordPress- ja PHP-ydinprojekteihimme. Se todella auttaa meitä ylläpitämään koodaustyyliämme johdonmukaisesti.