¡Obtenga un recuento de errores para cada nivel de phpstan!
Primero, analizamos la raíz del proyecto para el archivo phpstan.neon .
/src , /app , /tests , etc.Luego ejecutamos phpstan para cada nivel de 0 a 8. Cuentamos los errores y los mostramos en una tabla.
composer require tomasvotruba/phpstan-bodyscan --devEjecute la herramienta en su proyecto. Tomará algo de tiempo, ya que ejecutará el análisis PHPSTAN completo para cada nivel.
vendor/bin/phpstan-bodyscan↓
Para obtener el recuento de errores por nivel:
+-------+-------------+-----------+
| Level | Error count | Increment |
+-------+-------------+-----------+
| 0 | 0 | - |
| 1 | 35 | + 35 |
| 2 | 59 | + 24 |
| 3 | 59 | - |
| 4 | 120 | + 61 |
| 5 | 120 | - |
| 6 | 253 | + 133 |
| 7 | 350 | + 97 |
| 8 | 359 | + 9 |
+-------+-------------+----------- ; vendor/bin/phpstan-bodyscan --no-ignorevendor/bin/phpstan-bodyscan --bareTe tenemos cubierto:
vendor/bin/phpstan-bodyscan --json↓
[
{
" level " : 0,
" error_count " : 0,
" increment_count " : 0
},
{
" level " : 1,
" error_count " : 5,
" increment_count " : 5
},
{
" level " : 2,
" error_count " : 25,
" increment_count " : 20
}
]¿Estás interesado solo en unos pocos niveles? Puede limitar los rangos por las opciones:
vendor/bin/phpstan-bodyscan run --min-level 0 --max-level 3¡Experimental!
¿Está interesado en aprender Param, devolución y cobertura de declaración de tipo de propiedad del proyecto?
Ejecutar el comando type-coverage ↓
vendor/bin/phpstan-bodyscan type-coverage --json↓
[
{
" category ": "param type",
"relative_covered": 100 ,
"total_count": 54
},
{
"category": "property type",
"relative_covered": 100 ,
"total_count": 1
},
{
"category": "return type",
"relative_covered": 100 ,
"total_count": 33
},
{
"category": "strict declares",
"relative_covered": 100 ,
" total_count": 18
}
]Basado en el paquete de cobertura de tipo.
Algunos proyectos necesitan cargar el archivo .env para ejecutar Phpstan. Puedes hacerlo así:
vendor/bin/phpstan-bodyscan run --env-file some-parameters.env Ejecutar Phpstan en un nuevo proyecto que no sabe podría bloquearse. Para guardar datos de los niveles terminados, los arrojamos al archivo bodyscan-log.txt .
Si la ejecución se bloquea por algún motivo, la salida de error de PHPSTAN también se descarga al mismo archivo.
¡Feliz codificación!