Laminas-cli e xDebug
Laminas-cli e xDebug: chi sono
laminas-cli e xdebug: piccola introduzione. Laminas-cli è una libreria del framework Laminas che ci permette di scrivere dei comandi da richiamare da riga di comando. n particolare dalla shell basterà lanciare, dalla cartella root del nostro progetto, il seguente comando:
../vendor/bin/laminas nome:comando
Scrivere i comandi è molto comodo per svolgere delle operazioni specifiche, e diventa uno strumento fondamentale per poter schedulare con cron il lancio di questi comandi ad orari particolari.
xDebug è una libreria che ci permette di fare il debug del codice che abbiamo scritto.
Vediamo insieme come far lavorare in sintonia laminas-cli e xdebug per raggiungere il nostro obiettivo di seguire passo passo l’esecuzione del codice che abbiamo scritto.
Il problema
I comandi che si basano sulla libreria laminas-cli non sono predisposti per fare il debug del codice che eseguono. Però con un piccolo trick si riesce a fare il debug di questi comandi in modo molto semplice.
Di seguito la soluzione che ho implementato e che ho testato.
La soluzione con PHPStorm
- Aver correttamente installato xDebug
- Usare l’IDE PHPStorm (si possono usare anche altri IDE, anche gratuiti, ma la soluzione l’ho testata solamente con il PHPStorm)
chmod +x bin/console
Come contenuto del file copiare il testo seguente:
#!/bin/sh
REMOTEHOST="127.0.0.1"
php -dxdebug.remote_enable=1 -dxdebug.remote_port=9000 -dxdebug.remote_host="${REMOTEHOST}" -dxdebug.idekey=PHPSTORM -dxdebug.remote_autostart=On ../vendor/bin/laminas "$@"
Per effettuare il debug del nostro comando, bisogna attivare il debug di PHPStorm e poi lanciare il comando:
cd bin
./console nome:script
Vuoi offrirmi un caffè?
Se hai trovato utile questo o altri articoli e vuoi offrirmi un caffè (importo libero) per aiutarmi a coprire parte delle spese di gestione di questo sito, utilizza pure il seguente link PayPal (grazie!!).
Inoltre se trovi delle pubblicità di tuo interesse in questa pagina, puoi cliccarci su, è un altro modo per contribuire alle spese di gestione di questo sito.