Configurar PHP Storm para Magento

por David Abad
Phpstorm-Magento

PHP Storm es una de las herramientas de desarrollo más utilizadas para trabajar con Magento. Para desarrollar de forma óptima, existen una serie de configuraciones y plugins que permiten trabajar de forma más eficiente y detectar fácilmente errores mediante funcionalidades de debug.

Validaciones de código

El primer paso para comenzar a trabajar en un proyecto Magento es definir la versión de PHP a utilizar, en función de la versión de Magento. Esta configuración puede definirse desde Settings > PHP:

Php Storm: PHP Version

Por otro lado, Magento incluye por defecto las herramientas PHP MD (PHP Mess detector) y PHP CS (PHP Code Sniffer) para revisar el código que programamos y avisarnos de errores, problemas de formato, etc.

Para configurar PHP MD en PHP Storm, debemos añadir las reglas que Magento incluye por defecto para las validaciones que deben ejecutarse en el proyecto. Para ello, desde la sección Settings > Editor > Inspections, añadimos el siguiente “custom rule” en Quality Tools > PHP Mess Detector Validation:

<Proyecto>/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml

PhpStorm: PHPMD

En la misma sección Settings > Editor > Inspections, podemos configurar PHP CS desde Quality Tools > PHP CodeSniffer Validation, indicando el uso de un Coding Standard = Custom con el siguiente ruleset:

<Proyecto>/vendor/magento/magento-coding-standard/Magento2/ruleset.xml

Exclusión de directorios

PHP Storm cuenta con un proceso de indexación de ficheros y directorios que permite realizar búsquedas de contenidos de forma rápida. Sin embargo, este proceso es muy costoso, por lo que conviene excluir todos los directorios que no sean de interés.

Para excluir directorios en un proyecto, podemos configurarlo desde Settings > Directories:

Php Storm: Exclusion de directorios

En esta sección podemos definir la siguiente configuración:

  • Excluded
    • Todos los directorios excepto app y vendor.
  • Sources
    • app
    • vendor

Configuración de debugger

El debugger es una herramienta de gran utilidad para validar el correcto comportamiento de un desarrollo y detectar posibles errores. 

Para utilizar X-Debug en un proyecto Magento desde PHP Storm es necesario realizar las siguientes configuraciones:

1. Configurar los puertos de Xdebug desde Settings > PHP > Debug > Xdebug:

PHPStorm - Xdebug


2. Configurar el servidor desde Settings > PHP > Servers:

En la sección de path mappings debemos definir la ruta que el directorio raíz del proyecto tiene en el entorno virtualizado que estemos utilizando en nuestro equipo (si nuestro proyecto funciona en un entorno Docker o similar). Normalmente: /var/www/html 

PHP Storm: Xdebug

  • Name: localhost
  • Host: localhost
  • Port: 80
  • Debugger: Xdebug


3. Por otro lado, en el apartado Run > Edit configurations, debemos añadir una configuración del tipo PHP Remote Debug:

PHP Storm: X-Debug

  • Name: localhost
  • Server: localhost
  • IDE key: (Key configurado en Xdebug. Por ejemplo: PHPSTORM)

Plugins recomendados

PHP Storm cuenta con un plugin oficial para Magento, centrado en facilitar las tareas cotidianas de desarrollo para mejorar la productividad.

Aprende cómo instalar y utilizar el plugin oficial de Magento para PHP Storm en el siguiente artículo:

Esquemas XML (URNs)

Por último, para que PHP Storm pueda interpretar los esquemas XSD de los ficheros XML del proyecto, se recomienda lanzar el siguiente comando de Magento:

bin/magento dev:urn-catalog:generate .idea/misc.xml

Déjanos tu email para recibir contenido interesante en tu bandeja de entrada, cada mes.

¡No hacemos spam!

Otros artículos