Tendrá que crear un estándar de codificación personalizado si desea anular las funciones integradas. Esto es solo cuestión de crear un archivo XML con la definición del estándar.
En su caso, desea el estándar de codificación Zend completo, pero no desea la regla de convención de nomenclatura particular sobre nombres de variables. Por lo tanto, se crearía un archivo llamado mystandard.xml
(nombre que lo que quiera y ponerlo donde quieras) y poner en el siguiente contenido:
<?xml version="1.0"?>
<ruleset name="MyStandard">
<description>My custom Zend coding standard.</description>
<rule ref="Zend">
<exclude name="Zend.NamingConventions.ValidVariableName"/>
</rule>
</ruleset>
Hay mucho más que puede hacer para personalizar su estándar, incluyendo traer cheques de otros estándares, sobrescribir mensajes o silenciar algunos de ellos. Puede echar un vistazo a los documentos aquí: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php
La última vez que revisé, PHPStorm no le permitió usar estándares de codificación personalizados, por la razón que sea. Normalmente, debe escribir el nombre del estándar como la ruta completa al archivo mystandard.xml
. Si PHPStorm todavía no le permite hacer eso, la única manera de engañarlo es instalar realmente su estándar personalizado.
Tenga en cuenta que esto no es algo que normalmente necesita hacer y es un poco complicado. Pero si quieres probarlo, así es como lo haces:
- Encuentra dónde está instalado PHPCS en tu sistema. Si no sabe dónde está eso, intente
pear config-show | grep php_dir
. PHP_CodeSniffer estará en un directorio debajo de allí. Para mí, pera se instala en /usr/local/PEAR
, por lo PHP_CodeSniffer se encuentra en /usr/local/PEAR/PHP/CodeSniffer
- Crear un nuevo directorio llamado
MyStandard
bajo /usr/local/PEAR/PHP/CodeSniffer/Standards
- Ponga su archivo
mystandard.xml
directamente allí, pero cambie el nombre a ruleset.xml
Para confirmar su se ha instalado el estándar, ejecute phpcs -i
. Debería ver
The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend
Ahora, PhpStorm mostrará (con suerte) MyStandard
como una opción en el menú desplegable. Si no aparece, probablemente hayan codificado la lista y no haya forma de que funcione sin alterar directamente el estándar de codificación Zend.
Espero que la información te ayude a encontrar una solución. Si no, siempre se puede ejecutar PHPCS directamente en la línea de comandos usando el estándar de costumbre:
phpcs --standard=/path/to/mystandard.xml /path/to/code
Pasé la mayor parte de la tarde tratando de hacer que esto funcione. PHPStorm ni siquiera cargará la lista de estándares instalados, las únicas opciones en la configuración del inspector están en blanco y personalizadas, e incluso seleccionando la opción de validación personalizada nunca se muestra. Puedo obtener phpcs para ejecutar CLI correctamente, pero sería bueno que funcione según lo prescrito en los documentos para PHPStorm. –