Intégration continue/CodeSniffer PHP
PHP CodeSniffer est un utilitaire pour détecter les erreurs de style de code dans le code PHP. Nous utilisons Composer comme conteneur pour gérer la version de CodeSniffer, les dépendances et l'exécution.
Tout d'abord, récupérez les dépendances du développement en utilisant composer update
.
Pour la plupart des extensions, des habillages et des bibliothèques PHP de MediaWiki, l'exécution de composer test
exécute également CodeSniffer.
En raison de la grande taille du noyau MediaWiki, il est présenté comme une commande séparée, composer phpcs
.
Execution locale sans Composer
Si vous rencontrez des problèmes avec les temporisations de Composer, vous pouvez l'exécuter directement avec vendor/bin/phpcs -p -s
.
Il est important d'exécuter la version de PHP_CodeSniffer installée par Composer dans le vendor/bin de votre dépôt de projets local pour que tous les sniffs soient trouvés.
N'utilisez pas la version système indiquée par votre PATH.
Si vous obtenez des erreurs concernant la mémoire, vous pouvez l'exécuter en augmentant cette dernière :
vendor/bin/phpcs -p -s -d memory_limit=256M
.
Versions
Il est recommandé de saisir une version spécifique dans votre fichier composer.json
.
Nous essayons de respecter l'esprit de semver.org, mais pas le standard actuel.
La principale chose qui nous préoccupe est de nous assurer que quoi qu'il arrive, si vous exécutez composer test
, il s'exécutera avec succès si il est déjà passé, et n'échouera pas aléatoirement parce qu'une nouvelle version a été publiée.
L'échec aléatoire de la construction est ennuyeux lorsque vous essayez de reporter un patch sur une version ancienne, ou que vous êtes simplement de développer quelque chose et que vous devez interrompre votre travail pour réparer.
Nous utilisons actuellement 0 pour la version majeure, et nous augmentons la version mineure avec les nouveaux sniffs, et la versions de patch avec les corrections de bogues et les améliorations des sniffs existants. La stabilité n'est pas garantie pour le code PHP inclus actuellement.
Voir aussi
- Manuel:Conventions de codage/PHP
- Extension:BoilerPlate - une extension squelette, son point d'accès dans l'intégration continue
composer test
qui exécute PHP CodeSniffer - mediawiki-codesniffer - standard PHCS
- Points d'accès de l'intégration continue PHP
- Comment l'installer - Instructions pour installer CodeSniffer pour une extension
- https://phpcs.toolforge.org/