PHPStorm : Améliorer son code WordPress

Améliorer la qualité de son code WordPress sous PHPStorm avec phpcs et phpcbf et l'intégration des WordPress Coding Standards.
  • Développement
PHPStorm : Détecter les erreurs de code WordPress
Détecter les erreurs de code style WordPress sous PHPStorm

Améliorer son code WordPress grâce au « WordPress Coding Standards » et aux outils PHP Code Sniffer et PHP Code Beautifier. L’intégration à PHPStorm permet d’avoir des infos sur son code, que l’on développe un plugin ou un thème.

Les outils comme PHP Code Sniffer, PHP Mess Detector et PHP CS Fixer devraient être embarqués par défaut dans PHPStorm car ils aident énormément à la qualité du code. J’ai essayé d’utiliser ces 3 outils lors du développement de mon thème WordPress. Or les règles de ces outils rentre en conflits avec les standards de code de WordPress (espace entre les parenthèses, longs fichiers…). À choisir, j’ai préféré utiliser uniquement les règles et bonnes pratiques de WordPress et ai désactivé Mess Detector et CS Fixer.

Installer PHP Code Sniffer

Je vous incite à vous rendre sur le Readme du Github Code Sniffer pour l’installation. Pour ma part sous Linux, voici comment je l’ai installé (standalone).

# Récupérer Code Sniffer & Code Beautifier
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

Je déplace ensuite les binaires directement dans /usr/local/bin.

# Déplacer les binaires dans un dossier présent dans le $PATH
sudo mv -v phpcs.phar /usr/local/bin/phpcs
sudo mv -v phpcbf.phar /usr/local/bin/phpcbf

Pensez à rendre les binaires exécutables.

# Rendre les binaires exécutables
sudo chmod a+x /usr/local/bin/phpcs
sudo chmod a+x /usr/local/bin/phpcbf

Vous pouvez désormais lancer ces deux binaires depuis n’importe quel emplacement.

$ phpcs --version
PHP_CodeSniffer version 3.5.4 (stable) by Squiz (http://www.squiz.net)

Télécharger les règles de code WordPress

Il y a un dépôt Github souvent mis à jour avec les règles concernant le développement de WordPress et les bonnes pratiques liées au code.

https://github.com/WordPress/WordPress-Coding-Standards

# Installer les règles WordPress dans phpcs
sudo mkdir -v /opt/wpcs
sudo chown -R $USER:$USER /opt/wpcs
git clone -b master https://github.com/WordPress/WordPress-Coding-Standards.git /opt/wpcs
sudo phpcs --config-set installed_paths /opt/wpcs

Vous devriez désormais avoir les règles de WordPress présentes dans phpcs et phpcbf.

$ phpcs -i
The installed coding standards are MySource, PEAR, PSR1, PSR12, PSR2, Squiz, Zend, WordPress-Docs, WordPress-Extra, WordPress and WordPress-Core

Configurer phpcs et phpcbf avec PHPStorm et les règles WordPress

Bénéficier de l’intégration du Code Sniffer dans votre IDE PHPStorm est pour moi quelque chose de très important qui devrait être fait à chaque début de projet. Notez que la configuration donnée de phpcs ici s’applique uniquement « Pour le projet courant » ; cela n’affecte pas tous vos projets ouverts avec PHPStorm. Vous pouvez donc améliorer votre code WordPress sans pour autant affecter vos autres projets « non WordPress » avec des codings standards différents.

Intégrer PHP Code Sniffer dans PHPStorm

  1. Aller dans « Settings » ;
  2. Puis « Languages And Frameworks > PHP » ;
  3. Se rendre dans « Quality Tools » ;
  4. Modifier la configuration pour créer « Local » ;
  5. Donner le chemin des deux binaires dans /usr/local/bin/ puis cliquez sur « Validate ».
PHPStorm intégration phpcs et phpcbf
PHPStorm : Intégration de phpcs (PHP Code Sniffer) et phpcbf (PHP Code Beautifier)

Configurer phpcs dans PHPStorm avec les règles WordPress

  1. Allez dans « Settings » ;
  2. Dans « Editor » choisir « Inspections » ;
  3. Descendre jusqu’à « Quality Tools » ;
  4. Sélectionner « PHP_CodeSniffer validation » et cocher la case d’activation ;
  5. Cocher la case « Installed standard paths » et indiquer le chemin d’installation des règles WordPress, pour nous /opt/wpcs ;
  6. Sélectionner ensuite « WordPress » dans le menu « Coding standard ».
PHPStorm utilisation des WordPress Coding Standards rules
PHPStorm : Configuration phpcs et utilisation des règles WordPress (WordPress Coding Standards)

Améliorer son code WordPress avec PHPStorm

Si votre PHPStorm a été correctement configuré, vous devriez avec le linter avec les phrases soulignées comme dans la première capture. Si jamais ce n’est pas le code, tentez de fermer puis de révouvrir votre IDE. Dernière chose, si jamais vous n’avez pas beaucoup de phrases soulignées, c’est sûrement que les règles de validations ne sont pas correctement renseignées.
Vous pouvez toujours lancer en ligne de commande l’outil phpcs pour vous assurer que l’IDE récupère bien toutes les erreurs.

phpcs --standard=WordPress functions.php

Améliorer son code ne veut pas dire passer 4 semaines à fixer des parenthèses. C’est un outil de plus pour vous aider à être qualitatif, ceci ne doit pas être évangéliser.

Si jamais ce que je viens de dire ne vous convainc pas, utiliser phpcs sur les fichiers du CORE de WordPress et regardez les erreurs… vous seriez surpris.

Article publié le

Dernière modification le

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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