Accueil Technologies PHP CodeSniffer – l’outil ultime pour valider et corriger votre code PHP
PHP CodeSniffer - l'outil ultime pour valider et corriger votre code PHP

PHP CodeSniffer – l’outil ultime pour valider et corriger votre code PHP

par Jérémy PASTOURET
Publié : Mis à jour le

PHP_CodeSniffer, plus connu sous le nom de PHPCS est un super outil que j’utilise très régulièrement dans mes contributions Open Source. Que l’on soit dans une petite équipe, une moyenne ou même une énorme équipe, il est important de mettre en place des outils de contrôle. Grâce à ces petites mains robotiques, les développeurs et les chefs d’équipes deviendront plus sereins.

Qu’est-ce que PHP CodeSniffer / PHPCS ?

Qu est-ce que PHP CodeSniffer - PHPCS

C’est un outil qui fonctionne grâce à PHP. Il s’installe et s’utilise simplement. PHP CodeSniffer contient deux exécutables PHP :

  • phpcs analyse les fichiers PHP, Javascript, CSS de votre projet afin de détecter des violations définies par le standard de développement de PHP. Suivre ces règles / standards vous permet d’améliorer la lisibilité et la compréhension de votre code. De cette manière, vous éviterez de nombreux bugs.
  • phpcbf est mon favori, car il corrige au maximum les erreurs détectées par le programme précédent. Mais parfois, il se trouve dans l’impossibilité d’appliquer certaines corrections. Dans ce cas, c’est au développeur de faire un choix.

Comment installer PHP CodeSniffer ?

Comment installer PHP CodeSniffer - Composer

Avec Composer

Si vous avez l’habitude d’utiliser Composer, je vous conseille vivement d’utiliser cette méthode. Pour celles et ceux qui ne connaissent pas cet outil, sachez qu’il permet d’installer, de mettre à jour et de supprimer simplement des librairies pour votre projet PHP.

Si vous travaillez seul·e sur des projets, il est intéressant d’installer PHP CodeSniffer de manière globale sur votre PC. Pour cela, vous pouvez lancer la commande suivante :

composer global require "squizlabs/php_codesniffer=*"

Après l’installation, vous n’avez plus qu’à lancer les commandes suivantes pour vérifier l’installation :

phpcs
phpcbf

En revanche, si vous êtes plutôt dans un contexte d’entreprise, de travail collaboratif, en équipe… je vous conseille d’intégrer l’outil dans les projets PHP sur lesquels vous travaillez. Pour cela, il vous suffit de lancer la commande suivante :

composer require "squizlabs/php_codesniffer=*" --dev

Après l’installation de CodeSniffer de manière locale à votre projet, vous devez lancer ces commandes pour vérifier que tout s’est bien passé :

php ./vendor/bin/phpcs
php ./vendor/bin/phpcbf

L’option –dev permet d’installer PHP CodeSniffer comme outil de développement. Lorsque vous mettrez en production votre projet PHP, il est fortement conseillé d’installer les librairies sans prendre en compte celle utilisée pour le développement.

composer install --no-dev

Avec Curl / Wget

Toutefois, si vous n’êtes pas friand·e de Composer (ou qu’il n’est pas utile dans votre projet), vous pouvez télécharger les fichiers phpcs et phpcbf directement depuis GitHub.. Ainsi, il vous suffit d’utiliser les commandes suivantes :

# Téléchargement avec curl
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

# Ou téléchargement avec wget
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

Enfin, il vous suffit d’exécuter les commandes suivantes afin d’utiliser ces outils :

php phpcs.phar -h
php phpcbf.phar -h

Utilisation et lecture de PHP CodeSniffer

Utilisation et lecture de phpcbf

Phpcs et phpcbf attendent comme paramètre un dossier ou un fichier à analyser. Ensuite, les programmes parcourent votre code et vous affichent les erreurs qu’ils ont trouvées.

Par exemple :

phpcs -p ./app

J’ai ajouté le paramètre -p afin de voir la progression en cours. Sans ce paramètre, on peut avoir l’impression que l’outil a planté. Bien entendu, le programme est aussi paramétrable en fonction de votre projet. Par exemple, vous avez peut-être des fichiers à exclure, tels que le répertoire contenant des tests, des images…

phpcs -p --ignore=*/tests/*,*/data/* /chemin/du/projet

Vous pouvez aussi choisir d’utiliser uniquement la PSR-2 pour vérifier votre code :

phpcs -p --standard=PSR2 /chemin/du/projet

Pour plus d’informations sur les paramètres avancés de PHP CodeSniffer, je vous invite à consulter cette page GitHub.

Qui maintient et utilise PHP CodeSniffer / PHPCS ?

Qui maintient et utilise PHP CodeSniffer PHPCS

En premier lieu, c’est un outil développé par l’équipe Squiz Labs basée en Australie. Le code est régulièrement mis à jour et de nouvelles versions sortent fréquemment sur GitHub. Le projet est actuellement utilisé par plus de 83 000 projets GitHub, ce qui est plutôt impressionnant. Pour finir, ces chiffres confirment qu’utiliser PHP CodeSniffer est un bon investissement sur vos projets PHP.

Conclusion

Bannière conclusion

J’espère que cet article technique sur PHP vous a plu, et améliorera la qualité de votre code de manière transparente et automatique.

Utilisez-vous d’autres outils ou trackers pour contrôler et améliorer la qualité du code de vos projets ?

Dans un prochain article, j’expliquerai comment vérifier la qualité du code de manière automatique avec GitHub Actions.

En attendant, je vous invite à consulter un article sur un autre outil que j’aime beaucoup, j’ai nommé Cypress. Celui-ci permet de tester vos interfaces Web et d’en générer une vidéo de manière automatique. Grâce à lui, vous serez encore plus serein·e lors de vos mise en production.

Vous pourriez aussi aimer

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.