Comment exclure des fichiers de PHP CodeSniffer
Lorsque vous travaillez avec PHP CodeSniffer et que vous le faites dans le terminal, vous cherchez probablement à générer des erreurs dans autre chose que votre IDE.
Je veux dire, si c’était le cas, vous l’auriez simplement exécuté dans votre éditeur, n’est-ce pas ?
Mais il y a des moments où vous pourriez être intéressé à trouver les problèmes dans le code d’autres personnes. C’est peut-être une dépendance, c’est peut-être un logiciel tiers, ou c’est peut-être une faveur.
Quoi qu’il en soit, si vous avez configuré le répertoire du projet d’une manière qui utilise Composer pour inclure PHP CodeSniffer et que vous utilisez les normes de codage WordPress, vous devrez probablement exclure des fichiers de PHP CodeSniffer lors de l’exécution du programme.
Et voici comment vous pouvez le faire.
Avant d’entrer dans les commandes nécessaires, je suppose que vous avez une configuration de répertoire quelque chose comme ceci :
Une structure de répertoire potentielle.
C’est-à-dire que vous avez :
- un tas de fichiers PHP (et des sous-répertoires contenant des fichiers PHP),
- un fichier composer.json pour intégrer PHP CodeSniffer dans le projet
- un répertoire fournisseur qui inclut les dépendances pour PHP CodeSniffer
Si les normes de codage WordPress sont installées mais qu’elles ne sont pas définies pour PHP CodeSniffer, lancez cette commande :
$ ./vendor/bin/phpcs --config-set installed_paths ~/path/to/wpcs
Alors voici le problème :
Vous souhaitez exclure des fichiers de PHP CodeSniffer, mais vous avez beaucoup de fichiers à sniffer (notamment depuis que vous avez introduit le répertoire vendor). Comment exclure des fichiers de PHP CodeSniffer tout en obtenant les résultats souhaités ?
Vous avez besoin de quelques commandes supplémentaires :
- assurez-vous d’avoir inclus les normes de codage WordPress dans le cadre de la configuration,
- dire explicitement à PHP CodeSniffer d’utiliser le standard WordPress
- indiquer à PHP CodeSniffer les répertoires à ignorer et les fichiers à traiter
Cela vous semble compliqué ? La commande est vraiment simple :
$ ./vendor/bin/phpcs --ignore=*/vendor/* --standard=WordPress .
Et le terminal devrait finir par ressembler à ceci :
Le résultat net de renifler uniquement les fichiers PHP pour le répertoire courant.
À ce stade, vous devriez pouvoir afficher les erreurs dans votre terminal (espérons qu’il n’y en a pas, n’est-ce pas ? 😏) ou vous pouvez les diriger vers un autre fichier pour les examiner dans une autre application ou à une date ultérieure.
