Domanda

E 'possibile ignorare alcune parti di codice da un file php, quando è analizzata da PHP_CodeSniffer?

È stato utile?

Soluzione

Sì, è possibile con @codingStandardsIgnoreStart e @codingStandardsIgnoreEnd annotazioni

<?php
some_code();
// @codingStandardsIgnoreStart
this_will_be_ignored();
// @codingStandardsIgnoreEnd
some_other_code();

E 'anche descritto nella documentazione.

Altri suggerimenti

È possibile utilizzare la combinazione: @codingStandardsIgnoreStart e @codingStandardsIgnoreEnd oppure è possibile utilizzare @codingStandardsIgnoreLine .

Esempio:

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

Prima della versione 3.2.0, PHP_CodeSniffer utilizzato sintassi diversa per aver ignorato le parti del codice dal file. Vedere la di Anti Veeranna e Martin risposte di Všetička. La vecchia sintassi sarà rimosso nella versione 4.0

PHP_CodeSniffer sta ora utilizzando // phpcs:disable e // phpcs:enable commenti di ignorare le parti del file e // phpcs:ignore di ignorare una riga.

Ora, è anche possibile solo disattivare o attivare codici specifici messaggio di errore, annusate, categorie di annusa, o intere standard di codifica. Si dovrebbe specificare dopo i commenti. Se necessario, è possibile aggiungere una nota che spiega il motivo per cui sono in corso annusa disabilitare e ri-abilitati utilizzando il separatore --.

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

Per maggiori dettagli vedi documentazione del PHP_CodeSniffer .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top