Question

Il est possible d'ignorer certaines parties du code d'un fichier php quand il est analysé par PHP_CodeSniffer?

Était-ce utile?

La solution

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.

Autres conseils

Vous pouvez utiliser la combinaison: @codingStandardsIgnoreStart et @codingStandardsIgnoreEnd ou vous pouvez utiliser

Avant la version 3.2.0, PHP_CodeSniffer utilisé une syntaxe différente pour ignorer les parties de code de fichier. Voir de Anti Veeranna et Martin réponses Vseticka. L'ancienne syntaxe sera supprimée dans la version 4.0

PHP_CodeSniffer utilise maintenant les commentaires de // phpcs:disable et // phpcs:enable d'ignorer les parties de fichiers et // phpcs:ignore d'ignorer une ligne.

Maintenant, il est également possible de ne désactiver ou activer des codes de message d'erreur spécifique, renifle, catégories de reniflements, ou ensemble des normes de codage. Vous devez les indiquer après les commentaires. Si nécessaire, vous pouvez ajouter une note expliquant pourquoi renifle sont en cours et désactiver réactivées en utilisant le séparateur de --.

<?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 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top