Instalar los estándares de WordPress en el servidor de desarrollo

Hace un tiempo publiqué una entrada de cómo instalar PHP Coding Sniffer (phpcs) y las reglas para WordPress, de una manera «manual».

Recientemente, en el pasado mes de agosto, hemos tenido una actualización de los estándares de WordPress para phpcs, por lo que vamos a instalarlo en nuestro servidor de desarrollo (Ubuntu 20.04.6 LTS en este caso) y ya de una manera «más oficial» y «menos artesanal».

Composer

Lo primero que necesitamos es tener Composer instalado globalmente, a no ser que vayamos a utilizarlo solo en el proyecto actual.

Para ello ejecutamos los siguientes comandos como se nos indica en su página (comprobar en su página las instrucciones, ya que los hash cambiarán con las versiones):

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

que realiza las siguientes tareas:

  • Descarga el instalador al directorio en el que nos encontremos.
  • Verifica el SHA-384 del instalador.
  • Ejecuta el instalador.
  • Elimina el instalador.

Si además queremos tener disponible Composer desde cualquier ruta, sin tener que llamar a php composer.phar ejecutamos:

sudo mv composer.phar /usr/local/bin/composer

Ahora podemos comprobar la versión de Composer instalada ejecutando:

composer --version

2.6.5 en el momento de publicar esta entrada.

Ejecutar Composer como root

Si estamos ejecutando los comandos como root (por ejemplo en GridPane previo a Ubuntu 22 con Vultr), nos advertirá que vamos a ejecutar Composer como root y nos preguntará de cada vez.

Podemos evitarlo ejecutando el siguiente comando:

export COMPOSER_ALLOW_SUPERUSER=1;

Que será válido únicamente durante la sesión actual.

Podríamos guardarlo en nuestro script bash, zsh o el shell que corresponda, pero no creo que sea necesario, ya que los comandos Composer a ejecutar no es algo que hagamos continuamente.

Instalar phpcs

Para instalar phpcs ejecutamos en la consola:

composer global require "squizlabs/php_codesniffer=*"

Si todo ha ido correctamente, ahora tendremos phpcs instalado en ~/.config/composer/vendor/bin en el que se encuentran los ejecutables phpcs (el Code Sniffer) y phpcbf (Code Beautifier).

Para no tener que añadir la ruta completa cada vez que lo tengamos que ejecutar, podemos añadirla a nuestro PATH.

Para eso editamos .bashrc (o el del shell que corresponda como .zshrc) y al g¡final del mismo añadimos:

export PATH="$PATH:$HOME/.config/composer/vendor/bin"

Y recargamos la configuración con source ~/.bashrc

Ahora ya podemos movernos a un directorio distinto y comprobar que funciona mirando las versiones de phpcs y phpcbf:

phpcs --version
phpcbf --version

Y ahora comprobaremos los estándares instalados con phpcs -i que en la instalación por defecto serán como los aquí mostrados:

phpcs default standards

Instalando los estándares de WordPress

Para instalar los estándares de WordPress ejecutamos:

composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer global require --dev wp-coding-standards/wpcs:"^3.0"

Y comprobamos de nuevo los estándares instalados con phpcs -i:

phpcs WordPress standards

Y cuando necesitemos actualizar la versión de los estándares, ejecutaremos:

composer global update wp-coding-standards/wpcs --with-dependencies

Instalando más estándares

Como vimos en el anterior artículo, tenemos más estándares que nos pueden ser de utilidad como los de WooCommerce, PHP Compatibility o PHP Compatibility WP.

// WooCommerce Standards
composer global require --dev "woocommerce/woocommerce-sniffs"

Y como podremos observar, con la instalación de los estándares de WooCommerce, se instalan PHP Compatibility y PHP Compatibility WP entre otros:

phpcs WordPress y WooCommerce standards

Y ya tendremos phpcs con los estándares necesarios instalados en nuestro servidor de desarrollo.

Recordad, que como vimos en el artículo anterior, podemos personalizar nuestro set de reglas con el archivo de configuración del proyecto (en mi caso utilizo .phpcs.xml) y que la extensión utilizada en Visual Studio Code es vscode-phpcs (de Shevaua), ya que la anterior (phpcs de Ioannis Kappas) ha quedado obsoleta y sin soporte.

phpcs en VSC

Deja un comentario