🇪🇸 Configurando PHP_CodeSniffer en PhpStorm para proyectos Drupal en macOS

Configurando PHP_CodeSniffer en PhpStorm para proyectos Drupal en macOS

PHP_CodeSniffer es una herramienta que analiza tu código para asegurarse de que cumple con los estándares de codificación definidos. Esto es esencial en proyectos colaborativos, especialmente con Drupal, donde seguir las convenciones garantiza mayor mantenibilidad, consistencia y calidad del software.

En este post te enseño a configurar PhpStorm en macOS para que use PHP_CodeSniffer dentro de un entorno DDEV en proyectos Drupal 11, incluyendo el soporte extendido con chi-teck/drupal-coder-extension.


🧰 Requisitos

  • macOS
  • PhpStorm instalado
  • Un proyecto Drupal con DDEV

📦 Instalación de los paquetes necesarios

Desde la raíz de tu proyecto, ejecuta:

ddev composer require --dev drupal/coder chi-teck/drupal-coder-extension

⚙️ Configuración del archivo phpcs.xml

Crea un archivo phpcs.xml en la raíz del proyecto con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="drupal11">
  <description>PHP CodeSniffer configuration for Drupal 11 development.</description>
  <file>web/modules/custom</file>
  <file>web/themes/custom</file>
  <exclude-pattern>*/.git/*</exclude-pattern>
  <exclude-pattern>*/vendor/*</exclude-pattern>
  <exclude-pattern>*/node_modules/*</exclude-pattern>
  <exclude-pattern>*/dist/*</exclude-pattern>
  <arg name="extensions" value="php,module,inc,install,test,profile,theme,css,info,txt,md,yml"/>
  <arg name="colors"/>
  <arg value="sp"/>
  <config name="drupal_core_version" value="11"/>
  <rule ref="vendor/drupal/coder/coder_sniffer/Drupal"/>
  <rule ref="vendor/drupal/coder/coder_sniffer/DrupalPractice"/>
  <rule ref="vendor/chi-teck/drupal-coder-extension/DrupalExtended74"/>
</ruleset>

📂 Configuración en PhpStorm

  1. Abre PhpStorm y tu proyecto Drupal.
  2. Ve a Settings > PHP > Quality Tools > PHP_CodeSniffer.
  3. Presiona los ... para abrir la configuración del CLI Interpreter. Configuration php codesniffer
  4. Completa:
    • PHP_CodeSniffer path: /var/www/html/vendor/bin/phpcs
    • Path to phpcbf: /var/www/html/vendor/bin/phpcbf
  5. Presiona Validate para confirmar que PhpStorm lo detecta correctamente. Configuration path of phpcs and phpcbf

⚖️ Aplicar reglas personalizadas

  1. Aún en Quality Tools, marca:
    • Check files with extensions: php,module,inc,install,test,profile,theme,css,info,txt,md,yml
    • Coding Standard: Custom
    • Ruta personalizada: /var/www/html/phpcs.xml
  2. Activa los flags:
    • “Show sniff name”
    • “Show warnings as”

Configuration php codesniffer custom

✨ Activar el formateador externo

  1. Ve a Settings > PHP > Quality Tools
  2. En External Formatters, selecciona: PHP Code Beautifier and Fixer

⚡ Probar la configuración

  1. Reinicia PhpStorm
  2. Abre un archivo .theme o .module
  3. Introduce un error de formato (como espacios extra o llave mal colocada)
  4. Si todo está bien, deberías ver advertencias inline:

Example of php codesniffer


© 2024. All rights reserved.