En este post voy a mostrarte un caso algo particular de cómo debuggear un script que corre por línea de comandos.
Se trata de debuggear un script hecho con el framework Symfony.
La particularidad que tiene este escenario es que el código que escibiste (y que querés verificar), no es un archivo php común, si no que es una claseque extiende de ContainerAwareCommand, con lo cual, no es posible invocarla en forma directa.
La ejecución de este comando requiere del paso por el script bin/console. Ahora, si te fijás su contenido notarás que no es más que un script php, con lo cual, podría ser debuggeado usando la configuración «estándar» de PhpStorm para estos casos…
La idea en definitiva es simple, cuando ejecutás algo como:
php bin/console miApp:miComando
El script php que estás ejecutando es bin/console y «miApp:miComando» no es otra cosa que un argumento de CLI.
Entonces precisamente, de esa forma es como tenés que configurar el IDE para que pueda ejecutar tu comando (Y puedas ponerle breakpoints, evaluar variables, etc…):
En este ejemplo, el comando que yo uso (EnviarRecordatorios) recibe parámetros a su vez. Ningún problema, son más argumentos que se le pasan a bin/console.
¿De qué otra forma podrías debuggear comandos symfony?
- Cómo agregar una página de error 500 en un proyecto PHP - 31/10/2024
- ¿Cuántos contenedoresnecesita tu php? - 28/10/2024
- Cuál es el mejor framework PHP para hacer APIs REST - 25/10/2024