Agregar múltiples estándares de codificación con Composer
Una cosa es usar PHP CodeSniffer manualmente, pero si está usando una utilidad como GrumPHP para verificar su trabajo antes de enviarlo al repositorio, es probable que desee usar la versión que está instalando con su proyecto.
Esto supone que:
- Está instalando PHP CodeSniffer localmente en su proyecto,
- Desea instalar un conjunto específico de estándares de codificación para ejecutar en su código.
Recuerde, esto también se hace en el contexto de querer ejecutar scripts automatizados durante el proceso de confirmación y en un entorno local (frente a una configuración global) con Composer.
Composer ofrece la posibilidad de escribir scripts durante la ejecución. Del manual :
Una secuencia de comandos, en términos de Composer, puede ser una devolución de llamada de PHP (definida como un método estático) o cualquier comando ejecutable de la línea de comandos. Los scripts son útiles para ejecutar el código personalizado de un paquete o los comandos específicos del paquete durante el proceso de ejecución de Composer.
Para instalar múltiples estándares de codificación con Composer para que podamos hacer lo que hacemos con GrumPHP y cualquier proceso de confirmación previa, debemos aprovechar los scripts pre-install-cmd y pre-update-cmd. Hacer esto garantizará que se establezcan los estándares de codificación adecuados para el binario de nivel de proyecto de PHP CodeSniffer.
"scripts": {
"post-install-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress"
],
"post-update-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress"
],
},
Tenga en cuenta que en el ejemplo anterior, me aseguro de agregar los estándares de codificación de WordPress a PHP CodeSniffer.
Pero puede agregar múltiples versiones de estándares de codificación, como esta:
"scripts": {
"post-install-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress-Core,/Users/tommcfarlin/Sync/Projects/wpcs/WordPress-VIP"
],
"post-update-cmd": [
""vendor/bin/phpcs" --config-set installed_paths /Users/tommcfarlin/Sync/Projects/wpcs/WordPress-Core,/Users/tommcfarlin/Sync/Projects/wpcs/WordPress-VIP"
],
},
Y puede agregar cualquier otro estándar que tenga que le permita apuntar el script en la ubicación adecuada donde están instalados.
Una vez que lo haga, los estándares se aplicarán a PHP CodeSniffer y se ejecutarán durante los procesos de instalación y actualización de Composer.
