Expertos en Drupal

Herramientas de soporte para el desarrollo Drupal: PHP CodeSniffer

Hoy os presentamos una cuarta herramienta que os puede ayudar en el desarrollo de proyectos Drupal. Se trata de PHP CodeSniffer.

Herramientas de soporte para el desarrollo Drupal: PHP CodeSniffer

¿Qué es PHP CodeSniffer?

PHP CodeSniffer es una librería que nos permite escanear el código fuente de nuestros proyectos en función de un conjunto de reglas llamadas "sniffs" para saber si nuestros proyectos las cumplen o no. Para Drupal existen dos "sniffs" que son "Drupal" y "DrupalPractice". El primero comprueba reglas más genéricas y la segunda es para ayudar a los desarrolladores de módulos a evitar los errores más comunes.

¿Cómo instalar PHP CodeSniffer?

Para instalarlo en nuestro entorno de desarrollo, tendremos que seguir los siguientes pasos (instrucciones para Drupal 7 en un entorno Macintosh):

  1. Vamos al repositorio de GitHub y nos bajamos la rama 1.x de la herramienta: https://github.com/squizlabs/php_codesniffer/tree/1.5
  2. Lo descomprimimos todo en una carpeta cualquiera, pero preferiblemente con un path corto (por ejemplo en la hombre de nuestro usuario del mac). Llegados a este punto, sólo nos falta obtener los dos sniffs de Drupal.
  3. Nos bajamos la última versión del módulo coder (rama 7.x-2.x): https://www.drupal.org/project/coder
  4. Una vez descomprimido, copiamos la carpeta coder/coder_sniffer/Drupal dentro de PHP_CodeSniffer/CodeSniffer/Standards. No hace falta que instalemos el módulo.
  5. Nos bajamos la versión 1.0 del módulo drupalpractice desde aquí: https://www.drupal.org/project/drupalpractice/releases/7.x-1.0 NOTA: Aunque este módulo esté "deprecated" a favor del coder, es la única manera de obtener el sniff DrupalPractice para Drupal 7. En este caso tampoco hace falta que instalemos el módulo.
  6. Una vez descomprimido, copiamos la carpeta drupalpractice/DrupalPractice dentro de PHP_CodeSniffer/CodeSniffer/Standards.
  7. Editamos el bash_profile con el comando vi ~/.bash_profile y añadimos las dos líneas del recuadro al fichero (IMPORTANTE: tendréis que cambiar la ruta en el PHP_CodeSniffer en función del lugar donde lo hayáis instalado vosotros). Una vez añadidas las dos líneas, guardamos el fichero y ejecutamos el comando source ~/.bash_profile para que los cambios tengan efecto.
    alias drupalcs="php /Users/drauta/PHP_CodeSniffer/scripts/phpcs --standard=Drupal --extensions='php,module,inc,install,test,profile,theme,css,info,txt,md'"
    
    alias drupalcsp="php /Users/drauta/PHP_CodeSniffer/scripts/phpcs --standard=DrupalPractice --extensions='php,module,inc,install,test,profile,theme,css,info,txt,md'"
  8. Vamos al directorio del módulo que queremos escanear y hacemos las comprobaciones necesarias con los comandos drupalcs (sniff Drupal) y drupalcsp (sniff DrupalPractice). Al ejecutar cualquiera de estos dos comandos, obtendremos un listado de errores/avisos de nuestros ficheros PHP. Una vez estos comandos no devuelvan ningún mensaje, querrá decir que nuestro proyecto cumple ya con todos los estándares de Drupal. A continuación podemos ver cómo ejecutar los dos comandos.
    drupalcs NOMBRE_FICHERO
    drupalcs *
    drupalcsp NOMBRE_FICHERO
    drupalcsp *

Más información:

https://www.drupal.org/node/1419988

https://www.drupal.org/node/1587138

Comparte este artículo

Artículos Relacionados