La trilogía del PSR: Capítulo II
Juanma Cabello Colaboraciones 06/10/2017
En el primer post de esta trilogía te hablé acerca del PSR, su objetivo y lo beneficioso que es tanto para ti como para la comunidad de PHP en general. Hoy te traigo la segunda entrega en la que te comentaré qué herramientas usar para que te sea más fácil seguir las reglas.
PHP-CS-FIXER
Este proyecto consta de una utilidad de terminal que realizará un examen de tu proyecto y te dirá, línea a línea, donde ha encontrado violaciones de las reglas que define el PSR2. Lo interesante de esta herramienta es que nos permite definir la ruta del archivo XML que queramos por si queremos definir nuestro propio estándar.
Para instalarlo es tan sencillo como usar nuestro querido amigo Composer:
$ composer global require friendsofphp/php-cs-fixer
Ten presente que para que tu entorno detecte los ejecutables de Composer, es necesario que añadas a tu PATH la ruta donde residen los binarios instalador por él. Lo suyo es que lo hagas en tu bash_profile o similar para que sea permanente.
$ export PATH=“$PATH:$HOME/.composer/vendor/bin"
Para usarlo, basta con ejecutar el siguiente comando:
$ php php-cs-fixer.phar fix
Si quieres más información sobre esta utilidad, visita la web del proyecto en Github.
PSR en VIM
Dado que, cómo ya sabrás, soy un feliz usuario de VIM, voy a explicarte como validar cualquier archivo PHP con el mejor editor de textos para programadores.
Para ello, lo primero es instalar la utilidad PHP-CodeSniffer. De nuevo, haciendo uso de Composer, ejecutamos el siguiente comando:
$ composer global require "squizlabs/php_codesniffer=*"
Con esto tendremos una nueva utilidad de terminal llamada phpcs que tendría la misma funcionalidad que php-cs-fixer. He querido mencionar dos comandos que hacen lo mismo para darte diferente opciones, aunque nos vamos a quedar con phpcs para seguir con la parte de VIM.
Lo segundo que voy a hacer es hablarte de Syntastic. Se trata de un plugin dedicado a comprobar sintaxis de diferentes lenguajes de programación entre ellos PHP, por supuesto. El plugin nos ofrece información de errores en el mismo buffer del código que estemos modificando en el momento.
Para activarlo, se recomienda escribir estas líneas en tu archivo .vimrc:
set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 let g:syntastic_php_checkers = ['php', ‘phpcs']
Las primeras líneas establecen dónde mostrar los errores en la ventana de VIM, mientras la última línea especifica que se compruebe la sintaxis de PHP usando el propio PHP y, si todo va bien, se pase el phpcs. Este es el motivo por el que he querido seguir con PHP-CodeSniffer: Syntastic tiene integración directa con él.
Si todo ha ido bien, ya debería de estar comprobando tus archivos PHP en busca de vulneraciones de las reglas del PSR.
Conclusión
Ya esto empieza a tener mejor color, ¿no? En el siguiente episodio, detallaré un poco las recomendaciones del PSR y qué intentan solucionar.
¿Y tú? ¿Has empezado a usar PSR en tu editor de texto favorito? ¡Dínoslo en los comentarios!