Published on

PHPStan - herramientas de desarrollo para proyectos PHP

Authors

PHPStan es una fantástica herramienta de desarrollo que sirve para analizar tu código de forma estática.

Bienvenido al primero de una serie de entradas relacionadas con la creación de un entorno de desarrollo profesional. Para eso te iré explicando distintas librerías que puedes usar para crear un código más robusto y escalable. Además de automatizar una serie de pasos a la hora de subir tus cambios a tu repositorio, mediante la configuración de los PRE-COMMIT.


PHPSTAN

¿Qué es?

Phpstan es un analizador estático de código. El análisis de código estático consta de una serie de comprobaciones automatizadas que se realizan en el código fuente. Una herramienta de análisis estático escanea el código en busca de errores y vulnerabilidades comunes conocidas, uso de tipado coherente, buenas prácticas de programación, uso de variables definidas y no usadas, etc.

Según la documentación oficial de PHPStan, hacen una recomendación sobre cómo trabajar con está librería, y para eso indican que usar un código moderno orientado a objetos para usar las mejores capacidades de la librería.

El código correctamente anotado y escrito (propiedades de clase, argumentos de función y método, tipos de devolución) ayuda no solo a las herramientas de análisis estático, sino también a otras personas que trabajan con el código para comprenderlo.

Instalación

La instalación y configuración de esta librería es muy sencilla y con apenas un par de comandos se puede tener lista. Además se puede automatizar para cada vez que vayas a realizar un commit al repositorio, primero se pueda lanzar el comando de análisis del código antes de subir cualquier cambio. Pero este proceso de automatización, lo dejaremos para próximas publicaciones.

Su instalación se realiza mediante composer, ejecutando el siguiente comando:

composer require --dev phpstan/phpstan

Configuración

Existen varias maneras de configurar la forma en la que podemos analizar nuestro código. Pero para este caso de ejemplo, realizaremos una configuración sencilla. Para esto, iremos al fichero composer.json de nuestro proyect y añadiremos una línea dentro del módulo scripts

"scripts": {
"php-stan": "vendor/bin/phpstan analyse src tests --level=4",
…….
},

Que le estamos indicando aquí:

- “analyse src tests” : le indicamos que analice solamente el código incluido en esas carpetas
- “--level=4” : El nivel de comprobación que queremos. Esta característica permite la adopción incremental de las comprobaciones de PHPStan. Puedes comenzar a usar un nivel de regla más bajo y aumentarlo cuando lo desees poco a poco.

Una vez modificado el fichero composer.json.

Desde la línea de comandos y estando en la raíz del proyecto ejecutaremos nuestro el nuevo comando que hemos creado

composer php-stan

Esta librería se puede usar tanto para proyectos de PHP nativo, como con cualquiera de sus frameworks, Laravel, Symfony, Lumen, o cualquier otro.


Por último, si tienes alguna duda o sugerencia. Puedes contactarme a través del formulario de contacto o por medio de mis perfiles en redes sociales.

Espero que este artículo te haya sido de utilidad y no dudes en compartirlo si crees que puede ser de utilidad para otras personas.

feliz código a tod@s!!


Enlaces relacionados

PHPStan Oficial

Documentación

268