Mentre Pest aiuta ad evitare futuri problemi grazie ai test, a volte i problemi sono già li 😅
Uno strumento che mi aiuta spesso è PHPStan (per static analyzer). PHPStan prende una directory di script PHP ed effettua una serie di controlli su valori e tipi delle variabili, la logica di if e cicli, sui parametri passati a funzioni e librerie.
Scova errori tipo "occhio, stai cercando di usare una variabile che non esiste", ma anche cose complesse come "alla riga X metti true in questa variabile, ma questo pezzo di codice qua in fondo si aspetta un numero, e ti darà un risultato sbagliato".
Come molte delle librerie PHP, PHPStan può essere installato con Composer, ad esempio con:
Codice:
composer global require phpstan/phpstan
PHPStan ha diversi livelli di pignoleria. Di solito comincio da --level=1, e poi aumento finché i problemi di cui mi avvisa diventano "accettabili".
Codice:
C:\>phpstan analyze --level=1 d:\www\dreadnaut.altervista.org\
------ ----------------------------------------------
Line views\links\feed.php
------ ----------------------------------------------
18 Variable $recent_links might not be defined.
------ ----------------------------------------------
[ERROR] Found 1 error
Whops, vado ad aggiustarlo subito!