Il est possible d'ignorer certaines parties du code à partir d'un fichier PHP lorsqu'il est analysé par PHP_CodeSniffer
?
Oui, il est possible avec @CodingStandardsignorestart et @CodingStandardsignoreend Annotations
<?php
some_code();
// @codingStandardsIgnoreStart
this_will_be_ignored();
// @codingStandardsIgnoreEnd
some_other_code();
Il est également décrit dans la documentation.
Vous pouvez utiliser la combinaison: @codingStandardsIgnoreStart
et @codingStandardsIgnoreEnd
ou vous pouvez utiliser @codingStandardsIgnoreLine
.
exemple:
<?php
command1();
// @codingStandardsIgnoreStart
command2(); // this line will be ignored by Codesniffer
command3(); // this one too
command4(); // this one too
// @codingStandardsIgnoreEnd
command6();
// @codingStandardsIgnoreLine
command7(); // this line will be ignored by Codesniffer
Avant la version 3.2.0, php_codesniffer a utilisé une syntaxe différente pour ignorer des parties du code à partir du fichier. Voir la Anti Veeranna et Martin Vseka's réponses. L'ancienne syntaxe sera supprimée dans la version 4.0
Php_codesniffer utilise maintenant // phpcs:disable
et // phpcs:enable
commentaires pour ignorer des parties des fichiers et // phpcs:ignore
ignorer une ligne.
Maintenant, il est également possible de désactiver ou d'activer des codes de message d'erreur spécifiques, des reniflements, des catégories de reniflications ou des normes de codage entières. Vous devez les spécifier après des commentaires. Si nécessaire, vous pouvez ajouter une note expliquant pourquoi les renifs sont en train de désactiver et de réactiver en utilisant le --
séparateur.
<?php
/* Example: Ignoring parts of file for all sniffs */
$xmlPackage = new XMLPackage;
// phpcs:disable
$xmlPackage['error_code'] = get_default_error_code_value();
$xmlPackage->send();
// phpcs:enable
/* Example: Ignoring parts of file for only specific sniffs */
// phpcs:disable Generic.Commenting.Todo.Found
$xmlPackage = new XMLPackage;
$xmlPackage['error_code'] = get_default_error_code_value();
// TODO: Add an error message here.
$xmlPackage->send();
// phpcs:enable
/* Example: Ignoring next line */
// phpcs:ignore
$foo = [1,2,3];
bar($foo, false);
/* Example: Ignoring current line */
$foo = [1,2,3]; // phpcs:ignore
bar($foo, false);
/* Example: Ignoring one line for only specific sniffs */
// phpcs:ignore Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed
$foo = [1,2,3];
bar($foo, false);
/* Example: Optional note */
// phpcs:disable PEAR,Squiz.Arrays -- this isn't our code
$foo = [1,2,3];
bar($foo,true);
// phpcs:enable PEAR.Functions.FunctionCallSignature -- check function calls again
bar($foo,false);
// phpcs:enable -- this is out code again, so turn everything back on
Pour plus de détails, voir documentation de php_codesniffer .