✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Migliora i tuoi standard di codifica Laravel usando GrumPHP

36

Non importa se sei uno sviluppatore esperto o un neofita, dovresti migliorare i tuoi standard di codifica per diventare uno sviluppatore migliore. Sia che lavori da solo o con un team, è sempre una buona pratica avere le stesse convenzioni di codifica per tutto il progetto. Ma mantenere gli stessi standard in tutti i luoghi non è facile se lo controlliamo manualmente. Può capitare che tu abbia mancato lo standard anche se hai deciso di seguirlo. È un errore umano, a volte ci siamo persi cose che non dovremmo. Per prevenire tali problemi, dovremmo automatizzare il nostro flusso di lavoro. In questo modo, il nostro sistema automatizzato si occuperà del compito che gli abbiamo assegnato e il 99,99% delle volte non fallisce mai.

GrumPHP è una libreria che tiene d’occhio ogni tuo commit git. Se il tuo codice non segue determinati standard, la libreria non ti consente di eseguire il commit del codice. Dovresti prima correggere il tuo codice e poi solo tu sarai in grado di impegnarti in Git.

Suona bene? Vediamolo in azione.

Iniziare

Poiché stiamo parlando degli standard di codifica Laravel, dovresti avere una configurazione del progetto Laravel. Se non lo hai, installalo con il comando:

composer create-project --prefer-dist laravel/laravel laravel-dev

Qui ‘laravel-dev’ è il nome del tuo progetto. Apri il terminale nella directory principale del tuo progetto e inizializza git.

git init

È obbligatorio avere Git nel tuo progetto per sfruttare GrumPHP. Questo è dove funziona. Quando installiamo GrumPHP, crea un hook all’interno della .gitcartella e quindi tieni d’occhio ogni commit.

Ora aggiungi e invia i tuoi file correnti a git usando i comandi sottostanti uno per uno.

git add -A
git commit -m 'initial commit'

Migliora lo standard di codifica Laravel usando GrumPHP

Una volta che abbiamo installato git nel nostro progetto Laravel, siamo pronti per installare la libreria GrumPHP. Per installarlo, esegui il comando seguente:

composer require --dev phpro/grumphp

Una volta installato il pacchetto, dovresti vedere il seguente messaggio nel terminale:

Attento! GrumPHP sta annusando i tuoi commit!

Significa che il pacchetto è stato installato correttamente. Quindi, apri il grumphp.ymlfile e aggiungi il codice seguente.

parameters:
    git_dir:.     bin_dir: vendor/bin
    tasks: { 
        phpcs: {
            standard: PSR2
        }
     }

Nel codice sopra la parte importante è la linea standard: PSR2. Qui, stiamo dicendo a GrumPHP che controlla le convenzioni di codifica PSR2 contro i file che stanno per eseguire il commit. Abbiamo usato PSR2 qui perché Laravel segue gli standard di codifica PSR2. Successivamente, GrumPHP eseguirà il proprio compito e ci informerà dell’errore in una console se trovato.

Se non hai installato la libreria standard di codifica, esegui il comando seguente per installarlo:

composer require "squizlabs/php_codesniffer=*"

Questa libreria ha standard di codifica PSR2 inclusi nel suo nucleo. Quindi, GrumPHP controllerà il tuo codice Laravel rispetto alla PSR2 e ti suggerirà modifiche se non stai seguendo gli standard PSR2.

Diciamo che abbiamo un ImageController.phpfile nel nostro progetto e che abbiamo il seguente pezzo di codice al suo interno.

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]);
    }
}

Quindi, prova a eseguire il commit del codice sopra e dovresti vedere un output come di seguito:

Fornisce l’errore di codifica nei dettagli insieme al numero di riga e alla descrizione. Potresti anche notare la riga:

PHPCBF PU RISOLVERE AUTOMATICAMENTE LE 2 VIOLAZIONI SNIFF SEGNATE

Come usare il comando PHPCBF

Eseguendo un comando PHPCBF possiamo correggere automaticamente alcuni errori. Vai alla directory "vendor/bin" dal terminale ed esegui il comando seguente per correggere gli errori utilizzando PHPCBF.

PHPCBF --standard=PSR2 PATH_TO_YOUR_CONTROLLER

Sostituisci il segnaposto con i valori effettivi. Probabilmente se stai eseguendo questo comando in Git bash otterrai l’errore di "bash: phpcbf: comando non trovato". In tal caso, esegui questo comando nel prompt dei comandi di Windows. Nel nostro caso, vediamo il seguente output sul terminale.

Tieni presente che non tutti gli errori vengono risolti da PHPCBH. A volte è necessario risolvere l’errore anche manualmente. Ora, quando provi a eseguire il commit del codice, dovresti ricevere il messaggio di successo e anche il codice verrà commesso.

Pensieri finali

In questo tutorial, abbiamo discusso del miglioramento degli standard di codifica di Laravel utilizzando GrumPHP. Ma non è limitato solo a Laravel. Puoi anche utilizzare questa libreria nel tuo altro CMS, Frameworks. Utilizziamo la libreria GrumPHP per i nostri progetti Laravel, WordPress e PHP di base. Ci aiuta davvero a mantenere coerente il nostro stile di codifica.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More