Phpcs fixer¶
https://gitter.im/squizlabs/PHP_CodeSniffer
Sobre PHP CodeSniffer¶
PHP CodeSniffer es set de dos scripts PHP; El script principal el cual tokeniza PHP, JavaScript y los archivos
CSS, detecta violaciones al estándar definido, y un segundo script el cual automágicamente corrige las violaciones
a este estándar.
PHP CodeSniffer es una herramienta esencial la cual se asegura que su código permanezca limpio y consistente.
Requerimientos¶
- PHP 5.4 o superior
Instalación¶
La manera mas sencilla de iniciarse con PHP CodeSniffer es descargando el archivo phar con los siguientes comandos:
# Descargarlo usando Curl curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
# Descargarlo usando Wget wget https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar wget https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
# Entonces debe testear los phar php phpcs.phar -h php phpcbf.phar -h
Composer¶
Si usa Composer, puedes instalar PHP CodeSniffer con el siguiente comando:
composer global require "squizlabs/php_codesniffer=*"
Asegúrese que tiene instalado el directorio bin en tu PATH. El archivo por defecto es ~/.composer/vendor/bin/, pero puede chequear el valor
que necesite usando "composer global config bin-dir --absolute" O alternativamente, incluir la dependencia para squizlabs/php_codesniffer
en su archivo composer.json. Por ejemplo:
{ "require-dev": { "squizlabs/php_codesniffer": "3.*" } }
Entonces será posible correr PHP_CodeSniffer desde su directorio bin:
./vendor/bin/phpcs -h ./vendor/bin/phpcbf -h
PEAR¶
Si usa PEAR, puede instalar PHP_CodeSniffer usando el instalador PEAR. Esto hará que los comandos phpcs y phpcbf estén
disponibles inmediatamente para su uso. Para instalar PHP_CodeSniffer usando el instalador PEAR, primero asegúrese que
tiene instalado PEAR y luego corra en consola el siguiente comando:
pear install PHP_CodeSniffer
Git Clone¶
También puede descargar la fuente de PHP CodeSniffer y correr los comandos phpcs y phpcbf directamente desde el clon Git:
git clone https://github.com/squizlabs/PHP_CodeSniffer.git cd PHP_CodeSniffer php bin/phpcs -h php bin/phpcbf -h
Documentación¶
La documentación más acabada del uso de PHP CodeSniffer se encuentra disponible en la wiki del proyecto:
[[https://github.com/squizlabs/PHP_CodeSniffer/wiki]]
Uso Básico¶
Supongamos que tenemos el proyecto en la ruta subsystem/Acreditacion/modulos/AcreditacionIndividual/ValidacionRUT
Primero Debemos Verificar que se cumpla el estándar definido, para esto debe correr por consola lo siguiente:
phpcs --standard="PSR2" subsystem/Acreditacion/modulos/AcreditacionIndividual/ValidacionRUT
Esto generará una salida como la siguiente:
Esto nos indica la cantidad de errores asociados a la norma PSR y nos indica cuantos de estos errores pueden ser
corregidos mediante phpcbf
Para corregir vía phpcbf se debe ejecutar el siguiente comando.
phpcbf --standard="PSR2" subsystem/Acreditacion/modulos/AcreditacionIndividual/ValidacionRUT
Esto arrojará una salida como la siguiente.
La cual nos indica que archivos fueron reparados, cuantos errores fueron corregidos automáticamente y cuantos se deben evaluar detenidamente.
Plugin para mantención de norma en Editores.¶
Existe también un plugin para diversos editores de texto, el cuál le permitirá ir revisando en tiempo real si cumple o incumple la norma.
El siguiente es un listado acotado de ellos
- Sublime Text: phpcs
- Visual Studio: phpcs
- Netbeans: PHP CS Fixer
- Atom: linter-phpcs
Conclusiones¶
PHP CodeSniffer es una herramienta sumamente útil para evaluar la norma seguida por INDAP para el desarrollo de aplicaciones PHP, pero como
toda herramienta automatizada sólo puede evaluar y reparar lo sintácticamente fixeable, es por eso que el conocimiento de la norma es de suma
importancia y le permitirá usarésta herramienta como complemento a su conocimiento.