...
Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Améliorez vos normes de codage Laravel en utilisant GrumPHP

40

Que vous soyez un développeur expérimenté ou novice, vous devez améliorer vos normes de codage pour devenir un meilleur développeur. Que vous travailliez seul ou en équipe, il est toujours recommandé d’avoir les mêmes conventions de codage tout au long du projet. Mais maintenir les mêmes normes partout n’est pas facile si nous le vérifions manuellement. Il peut arriver que vous ayez manqué la norme même si vous avez décidé de la suivre. C’est une erreur humaine, on a raté parfois des choses qu’il ne fallait pas. Pour éviter de tels problèmes, nous devons automatiser notre flux de travail. Ce faisant, notre système automatisé s’occupera de la tâche que nous lui avons assignée et 99,99% du temps, il n’échoue jamais.

GrumPHP est une bibliothèque qui garde un œil sur chaque commit git. Si votre code ne respecte pas les normes données, la bibliothèque ne vous permet pas de valider le code. Vous devez d’abord corriger votre code, puis vous seul pouvez vous engager dans Git.

Ça a l’air bien? Voyons-le en action.

Commencer

Comme nous parlons des normes de codage Laravel, vous devriez avoir une configuration de projet Laravel. Si vous ne l’avez pas, installez-le par la commande :

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

Ici ‘laravel-dev’ est le nom de votre projet. Ouvrez le terminal dans le répertoire racine de votre projet et initialisez le fichier git.

git init

Il est obligatoire d’avoir Git dans votre projet afin de profiter de GrumPHP. C’est là que ça marche. Lorsque nous installons GrumPHP, il crée un hook dans le .gitdossier, puis surveille chaque commit.

Maintenant, ajoutez et validez vos fichiers actuels dans le git en utilisant les commandes ci-dessous une par une.

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

Améliorer la norme de codage Laravel à l’aide de GrumPHP

Une fois que nous avons configuré git dans notre projet Laravel, nous sommes prêts à installer la bibliothèque GrumPHP. Pour l’installer, exécutez la commande ci-dessous :

composer require --dev phpro/grumphp

Une fois le package installé, vous devriez voir le message ci-dessous dans le terminal :

Attention! GrumPHP renifle vos commits !

Cela signifie que le paquet est installé avec succès. Ensuite, ouvrez le grumphp.ymlfichier et ajoutez-y le code ci-dessous.

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

Dans le code ci-dessus, la partie importante est la ligne standard: PSR2. Ici, nous disons à GrumPHP de vérifier les conventions de codage PSR2 par rapport aux fichiers qui vont être validés. Nous avons utilisé PSR2 ici car Laravel suit les normes de codage PSR2. Après cela, GrumPHP effectuerait sa tâche et nous informerait de l’erreur dans une console si elle était trouvée.

Si vous n’avez pas installé la bibliothèque standard de codage, exécutez la commande ci-dessous pour l’installer :

composer require "squizlabs/php_codesniffer=*"

Cette bibliothèque a des normes de codage PSR2 incluses dans son noyau. Ainsi, GrumPHP vérifiera votre code Laravel par rapport au PSR2 et vous suggérera des modifications si vous ne suivez pas les normes PSR2.

Disons que nous avons un ImageController.phpfichier dans notre projet et que le morceau de code suivant s’y trouve.

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

Ensuite, essayez de valider le code ci-dessus et vous devriez voir une sortie comme ci-dessous :

Il donne l’erreur de codage en détail avec le numéro de ligne et la description. Vous pouvez également remarquer la ligne :

PHPCBF PEUT CORRIGER AUTOMATIQUEMENT LES 2 VIOLATIONS SNIFF MARQUÉES

Comment utiliser la commande PHPCBF

En exécutant une commande PHPCBF, nous pouvons corriger certaines erreurs automatiquement. Rendez-vous dans le répertoire ‘vendor/bin’ du terminal et exécutez la commande ci-dessous pour corriger les erreurs à l’aide de PHPCBF.

PHPCBF --standard=PSR2 PATH_TO_YOUR_CONTROLLER

Remplacez l’espace réservé par les valeurs réelles. Si vous exécutez cette commande dans Git bash, vous obtiendrez probablement l’erreur "bash: phpcbf: command not found". Dans ce cas, exécutez cette commande dans l’invite de commande Windows. Dans notre cas, nous voyons la sortie suivante sur le terminal.

Notez que toutes les erreurs ne sont pas résolues par PHPCBH. Parfois, vous devez également résoudre l’erreur manuellement. Maintenant, lorsque vous essayez de valider le code, vous devriez obtenir le message de réussite et le code est également validé.

Dernières pensées

Dans ce tutoriel, nous avons discuté de l’amélioration des normes de codage Laravel à l’aide de GrumPHP. Mais ce n’est pas limité à Laravel seulement. Vous pouvez également utiliser cette bibliothèque dans vos autres CMS, Frameworks. Nous utilisons la bibliothèque GrumPHP pour nos projets Laravel, WordPress et PHP de base. Cela nous aide vraiment à maintenir notre style de codage de manière cohérente.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails