Cómo mejorar la calidad del software con PHPSTAN

2022-11-20 - Categorías: General / PHP
Check quality with PHPSTAN

Siguiendo con posts anteriores sobre herramientas para medir y mejorar la calidad del software como PHP-CS-FIXER, PHPDEPEND, PHPLOC o PHPCPD, llegamos a otra gran herramienta que es PHPSTAN. Con esta herramienta podemos encontrar errores en la programación en PHP sin llegar a haber programado y ejecutado los tests de integración.

Es decir, esta herramienta llamada PHPSTAN:
https://phpstan.org/
..analiza el código fuente de forma estática, reportando en varios niveles de exigencia, errores en la programación con los que podemos ir mejorando todo, incluso sin tener tests programados.

Al grano, instalando PHPSTAN

Para esto basta con ir a línea de comandos y ejecutar lo siguiente:

composer require --dev phpstan/phpstan

..y se instalarán los vendors necesarios.

Lo siguiente que podemos querer configurar es un comando en el composer.json para poder lanzarlo sin tener que acordarnos de los parámetros. Añadiremos entonces lo siguiente:

    "scripts": {
        "test": "vendor/bin/phpunit --coverage-html=public/coverage/ --testdox tests/",
        "check-stan": "vendor/bin/phpstan analyse src tests --xdebug --level=2",
        "check-cpd": "vendor/bin/phpcpd src/",
        "check-md": "vendor/bin/phpmd src/ text cleancode",
        "check-loc": "vendor/bin/phploc src/ text cleancode",
        "check-pdepend": "vendor/bin/pdepend --summary-xml=public/pdepend/summary.xml --jdepend-chart=public/pdepend/jdepend.svg --overview-pyramid=public/pdepend/pyramid.svg src/",
        "cs-fix-src": "vendor/bin/php-cs-fixer fix src/ --rules=@Symfony --verbose",
        "cs-fix-tests": "vendor/bin/php-cs-fixer fix tests/ --rules=@Symfony --verbose",
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd",
            "geoip2:update": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },

Comprobando errores en códigos fuentes con PHPSTAN

Con la configuración del apartado anterior, ahora podremos ir a línea de comandos y ejecutar lo siguiente:

composer check-stan

Y podremos ver por pantalla reportes como el siguiente:

Check quality with PHPSTAN

4 respuestas a “Cómo mejorar la calidad del software con PHPSTAN”

  1. Antonio Garcia Marin dice:

    Buenos dias
    En la linea
    «test»: «vendor/bin/phpunit –coverage-html=public/coverage/ –testdox»,
    ¿No falta especificar la carpeta con los tests?

    • Jnj dice:

      Buenas tardes Antonio.
      Pues tienes razón. Hay que especificar la carpeta de los tests en la línea que indicas, o especificarlo en el fichero phpunit.xml o phpunit.xml.dist del proyecto.
      Muchas gracias por el aporte, lo edito ahora mismo.
      Saludos!

  2. Antonio Garcia Marin dice:

    Como añadido decir que PHPStan tiene 10 niveles (del 0 o minimo al maximo 9).
    Los niveles son acumulativos asi que si usamos nivel 5 se estan comprobando los niveles 0-4 incluidos
    Para mas detalle de los que se comprueba o no tenemos documentado aqui
    https://phpstan.org/user-guide/rule-levels

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.