visual - phpcs standard
¿Cómo puedo suprimir las advertencias de PHPCS usando comentarios? (2)
My TestMyClass.php
tiene dos definiciones de clase en el mismo archivo (clase de prueba de unidad), y PHP Code Sniffer se queja de que cada clase debe estar en un archivo por sí misma . ¿Cómo puedo suprimir esta advertencia?
class MyClassImpl implements MyInterface
{
// ...
}
class MyClassTest extends /PHPUnit_Framework_TestCase
{
// ...
}
La sintaxis de @codingStandards
está en desuso a partir de la versión 3.2.0
, use phpcs
en phpcs
lugar.
Algunos ejemplos:
// phpcs:disable
// phpcs:ignore
// phpcs:enable
Consulte esta página para obtener más información: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-parts-of-a-file
Puede obtener PHP_CodeSniffer para ignorar archivos o líneas específicos en un archivo mediante los comentarios: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-files-and-folders
En este caso, el error se generará en su segunda definición de clase, por lo que tendrá que escribir su segunda definición de esta manera:
// @codingStandardsIgnoreStart
class MyClassTest extends /PHPUnit_Framework_TestCase
{
// @codingStandardsIgnoreEnd
// ...
}
Pero también puede optar por simplemente ignorar todo el archivo si no se supone que debe verificarse, ya sea utilizando el comentario @codingStandardsIgnoreFile o especificando exclusiones en la línea de comando (consulte el enlace anterior para obtener información).
Si considera que hace esto mucho y no desea agregar comentarios a su código, también puede crear su propio estándar de codificación personalizado. Suponiendo que está utilizando el estándar PSR2 en este momento, creará un archivo XML (por ejemplo, mystandard.xml) e incluirá el siguiente contenido:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom coding standard.</description>
<rule ref="PSR2" />
<rule ref="PSR1.Classes.ClassDeclaration.MultipleClasses">
<severity>0</severity>
</rule>
</ruleset>
Luego ejecute PHP_CodeSniffer de la siguiente manera: phpcs --standard=/path/to/mystandard.xml /path/to/code
Tener su propio conjunto de reglas le permite hacer muchas cosas, incluso cambiar los mensajes de error, cambiar la gravedad o el tipo de un mensaje, incluidos los controles de otros estándares, y establecer reglas globales de ignorar. Más información aquí: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml