Comment puis-je supprimer PHPCS avertissements à l'aide de commentaires?
Mon TestMyClass.php
a deux définitions de classes dans le même fichier (tests unitaires de la classe), et PHP Code Sniffer se plaint chaque classe doit être dans un fichier lui-même. Comment puis-je supprimer cette alerte?
class MyClassImpl implements MyInterface
{
//...
}
class MyClassTest extends \PHPUnit_Framework_TestCase
{
//...
}
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir PHP_CodeSniffer d'ignorer des fichiers spécifiques ou des lignes dans un fichier à l'aide de commentaires: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-files-and-folders
Dans ce cas, l'erreur sera généré sur votre deuxième définition de la classe, de sorte que vous auriez à vous écrire seconde définition comme ceci:
Mais vous pouvez aussi choisir de simplement ignorer l'ensemble du fichier si il n'est pas censé être vérifiée, soit à l'aide de @codingStandardsIgnoreFile commentaire ou en spécifiant les exclusions sur la ligne de commande (voir le lien précédent pour info).
Si vous trouvez que vous faire beaucoup et vous ne voulez pas d'ajouter des commentaires dans votre code, vous pouvez également créer votre propre norme de codage. En supposant que vous utilisez le PSR2 norme maintenant, vous devez créer un fichier XML (par exemple, mystandard.xml) et inclure le contenu suivant:
Puis exécutez PHP_CodeSniffer comme ceci:
phpcs --standard=/path/to/mystandard.xml /path/to/code
Avoir votre propre jeu de règles vous permet de faire beaucoup de choses, y compris la modification des messages d'erreur, la modification de la gravité ou de la nature d'un message, y compris les vérifications d'autres normes, et au niveau mondial ignorer les règles. Plus d'infos ici: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
@codingStandardsIgnoreLine
commentaire. Ce commentaire va ignorer la ligne que le commentaire est sur, et la ligne suivante.@codingStandards
notation a été abandonné et remplacé par//phpcs:disable
etc. Le lien ci-dessus fonctionne encore et traite de la nouvelle syntaxe.La
@codingStandards
syntaxe est obsolète depuis la version3.2.0
, utilisezphpcs
à la place.Quelques exemples:
Voir cette page pour plus d'informations: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-parts-of-a-file
Ce qui a été légèrement modifié. Utilisation
phpcs:ignoreFile
pour phpcs 3.2.xDe la squizlabs de la documentation liée par Ahmad: