Pregunta

Es posible ignorar algunas partes del código de un archivo PHP cuando se analizó por PHP_CodeSniffer?

¿Fue útil?

Solución

Sí, es posible con @codingStandardsIgnoreStart y @codingStandardsIgnoreEnd anotaciones

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

También se describe en la documentación.

Otros consejos

Se puede utilizar la combinación: @codingStandardsIgnoreStart y @codingStandardsIgnoreEnd o puede utilizar @codingStandardsIgnoreLine .

Ejemplo:

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

Antes de la versión 3.2.0, PHP_CodeSniffer utiliza sintaxis diferente para ignorar partes del código del archivo. Ver el de anti Veeranna y Martin respuestas de Vseticka. La sintaxis de edad se eliminará en la versión 4.0

PHP_CodeSniffer está usando ahora // phpcs:disable y // phpcs:enable comentarios ignorar partes de los archivos y // phpcs:ignore hacer caso omiso de una línea.

Ahora, también es posible solamente desactivar o activar los códigos específicos mensaje de error, olfatea, categorías de olfatea, o los estándares de codificación enteras. Es necesario indicar que después de los comentarios. Si es necesario, se puede añadir una nota explicando por qué huele están siendo deshabilitar y volver a habilitar utilizando el separador --.

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

Para más detalles ver documentación del PHP_CodeSniffer .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top