PHPStan es una poderosa herramienta de análisis para PHP que ayuda a detectar errores en tu código antes de ejecutarlo. Con PHPStan podemos identificar posibles problemas como llamadas a métodos inexistentes, acceso a propiedades no definidas, tipos de parámetros incorrectos, etc.
Instalando PHPStan
Para poder instalar PHPStan necesitaremos una versión de PHP 7.2 o mayor. PHPStan funciona mejor con código orientado a objetos moderno. Cuanto más tipado esté nuestro código, más información proporcionaremos a PHPStan para trabajar.
Necesitaremos la herramienta Composer y ejecutar lo siguiente en nuestra consola:
composer require --dev phpstan/phpstan
Es importante saber que disponemos de PHPStan mediante PHAR. Pero sin Composer, no podremos instalar extensiones.
Para poder instalar PHPStan con Docker disponemos de la siguiente documentación oficial.
Uso en línea de comandos
Podremos econtrar el ejecutable de PHPStan, instalado por Composer, en nuestro vendor/bin
Analizando el código
Para poder analizar nuestro código basta con lanzar el comando analyze de PHPStan:
vendor/bin/phpstan analyse [options] [<paths>...]
Podemos pasar como <paths> una única o varias rutas. También podemos pasar archivos o directorios.
Si nos devuelve un código de salida 0 significa que no hay errores en nuestro código.
Para aprender más acerca del uso en línea de comandos, visitar la documentación oficial de PHPStan.
Niveles de Reglas
No siempre necesitamos una verificación a máximo nivel, por lo que PHPStan nos permite elegir un nivel de verificación. Este nivel se lo pasamos al comando analyse:
vendor/bin/phpstan analyse -l 6 src tests
Con -l estamos indicando que a continuación vamos a pasar un nivel de verificación, en este caso el 6.
PHPStan maneja niveles de verificación desde el 0 hasta el 9, este último siendo el más estricto.
Podemos cambiar el nivel de verificación predeterminado en el archivo de configuración.
Ignorando los errores
En algunas ocasiones es posible que deseemos ignorar algunos errores. PHPStan nos permite pasar un comentario de PHP utilizando la etiqueta @phpstan-ignore.
Esta etiqueta (@phpstan-ignore) requiere que identifiquemos el error que deseamos ignorar. Por ejemplo:
echo $foo, $bar; // @phpstan-ignore variable.undefined, variable.undefined
Si necesitamos averiguar el identificador del error que queremos ignorar, podemos pasar a nuestro comando de analyze la flag -v, la cual nos mostrará el identificador del error debajo del mensaje de error.
Para más infomación sobre ignorar errores, visitar la documentación oficial de PHPStan.
Conclusión
Gracias a su fácil instalación y uso, PHPStan es una herramienta esencial para cualquier desarrollo en PHP, ya que nos ayuda a prever errores y a mejorar la calidad de nuestro código.
Fuentes: Documentación oficial de PHPStan