Proyecto

General

Perfil

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.