Configuration de PHP CodeSniffer par projet
Il y a quelques années, j’ai écrit un article sur la configuration de PHP CodeSniffer dans Visual Studio Code (et je l’ai également mis à jour récemment).
Mais cela fait quatre ans que ce message a été écrit à l’origine et, pendant ce temps, beaucoup de choses peuvent changer en termes de façon d’écrire du code.
Quatre ans, c’est à peu près l’âge d’Internet, n’est-ce pas ?
Quoi qu’il en soit, les points de base de cet article sont toujours valables, mais si vous travaillez sur une variété de projets et que certains d’entre eux nécessitent des configurations, des paramètres et des normes différents, alors la façon dont vous procédez pour installer et configurer PHP CodeSniffer peut être différente de comment vous le configurez au niveau du système.
Donc, si vous êtes dans cette position, voici comment vous pouvez configurer PHP CodeSniffer projet par projet à l’aide de Visual Studio Code.
PHP CodeSniffer par projet
Cet article fait quelques hypothèses :
- Vous connaissez Composer ,
- Vous savez gérer les espaces de travail dans Code,
- Vous connaissez PHP CodeSniffer (au moins au niveau global),
- Et vous savez comment utiliser les extensions de code .
Si vous n’êtes pas sûr de l’un de ces éléments, consultez cet article, puis revenez. Je vais vous expliquer le reste.
1 Installez PHP CodeSniffer localement
Étant donné que différents projets peuvent nécessiter un ensemble de normes différent, je trouve utile d’en conserver une copie composer.json
et, naturellement, composer.lock
par projet.
Cela signifie qu’à la racine de mon projet, j’ai un composer.json
fichier avec tout ce dont j’ai besoin pour un projet donné. Dans le cas de cet article, j’ai besoin d’une copie de PHP CodeSniffer.
Pour installer PHP CodeSniffer et la dernière version des normes de codage WordPress au niveau du projet, je vais créer le fichier ci-dessus à la racine de mon projet, puis inclure les éléments suivants :
{
"require": {
"wp-coding-standards/wpcs": "2.3.0",
"squizlabs/php_codesniffer": "3.*"
}
}
Dans la plupart des cas, ce fichier sera beaucoup plus complexe, mais vous aurez une idée générale de ce que vous devez inclure.
Ensuite, exécutez composer install
et cela créera un vendor
répertoire dans votre projet qui inclura à la fois les normes de codage WordPress ainsi que PHP CodeSniffer.
2 Configurer des liens symboliques vers les fichiers binaires locaux
À ce stade, vous trouverez peut-être utile de créer un lien symbolique vers les binaires pour PHPCS et PHPCBF afin de ne pas entrer en conflit avec tout ce que vous exécutez au niveau global.
Pour ce faire, à la racine du projet, vous pouvez saisir ce qui suit dans votre terminal :
$ ln -s /vendor/bin/phpcs phpcs
$ ln -s /vendor/bin/phpcbf phpcbf
Cela vous permettra d’exécuter les binaires depuis votre terminal. Pour tester est terminé, essayez la commande suivante :
$ ./phpcs --version
Et vous devriez voir une sortie comme celle-ci :
PHP_CodeSniffer version 3.5.5 (stable) by Squiz (http://www.squiz.net)
Si c’est le cas, tout est configuré correctement.
3 Installez l’extension PHP CodeSniffer
La prochaine étape, sans doute la plus simple, consiste à configurer l’extension PHP CodeSniffer dans Code. Il existe un certain nombre d’options que vous avez, mais j’ai eu une bonne expérience avec cette extension particulière.
Une fois qu’il est installé et que vous avez rechargé votre IDE, vous devriez être prêt à installer et à configurer PHP CodeSniffer projet par projet.
4 Configurez votre espace de travail
Dans Code, la prochaine chose que vous voudrez faire est de configurer PHP Code Sniffer pour votre projet spécifique. Pour ce faire, le plus simple est de configurer un espace de travail pour votre projet.
Vous pouvez le faire en cliquant sur le menu Fichier, puis sur l’ élément de menu Enregistrer l’espace de travail sous…. Cela créera un project.code-workspace
fichier partout où vous choisissez de l’inclure.
Si vous contrôlez la version de votre projet, je vous recommande de le conserver à la racine de votre projet afin de pouvoir le conserver dans le contrôle de version. Ensuite, si vous ouvrez ce fichier, vous remarquerez qu’il s’agit de JSON et qu’il inclut une settings
directive. Dans cette directive, ajoutez les paramètres suivants :
project.code-workspace
Notez ci-dessus que nous indiquons explicitement à l’extension où se trouve le chemin de l’exécutable, c’est-à-dire dans le vendor
répertoire relatif au workspace
fichier.
Une fois que vous avez fait cela, vous devriez être en mesure de commencer à écrire du code et à le faire renifler activement votre code tout en travaillant.
Vouloir plus?
Si vous êtes intéressé par un reniflement et une correction encore plus agressifs des odeurs et des problèmes de code, je vous recommande de consulter l’article sur GrumPHP.