Erhalten Sie die Fehleranzahl für jedes Phpstan -Level!
Zunächst untersuchen wir das Projektroot für phpstan.neon -Datei.
/src , /app , /tests usw.Dann führen wir Phpstan für jede Ebene von 0 bis 8 aus. Wir zählen Fehler und zeigen sie in einer Tabelle an.
composer require tomasvotruba/phpstan-bodyscan --devFühren Sie das Tool in Ihrem Projekt aus. Es wird einige Zeit dauern, da es für jedes Level eine vollständige Phpstan -Analyse durchführt.
vendor/bin/phpstan-bodyscan↓
Um Fehler pro Level zu erhalten:
+-------+-------------+-----------+
| 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 --bareWir haben Sie bedeckt:
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
}
]Interessieren Sie sich nur für wenige Ebenen? Sie können die Bereiche durch die Optionen einschränken:
vendor/bin/phpstan-bodyscan run --min-level 0 --max-level 3Experimental!
Interessieren Sie sich für Lernparam-, Rückkehr- und Immobilientyp -Deckung des Projekts?
Führen Sie den Befehl type-coverage aus ↓
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
}
]Basierend auf dem Typ-Deckungspaket.
Einige Projekte müssen laden .env -Datei, um Phpstan auszuführen. Sie können es so machen:
vendor/bin/phpstan-bodyscan run --env-file some-parameters.env Wenn Sie Phpstan für ein neues Projekt ausführen, von dem Sie nicht wissen, dass er nicht weiß. Um Daten aus fertigen Levels zu speichern, lassen wir sie in die Datei bodyscan-log.txt Datei ab.
Wenn der Lauf aus irgendeinem Grund abstürzt, wird auch die Phpstan -Fehlerausgabe in dieselbe Datei abgeladen.
Happy Coding!