Получите количество ошибок для каждого уровня Phpstan!
Во -первых, мы рассмотрим корень проекта для файла phpstan.neon .
/src , /app , /tests и т. Д.Затем мы запускаем PHPSTAN для каждого уровня от 0 до 8. Мы считаем ошибки и отображаем их в таблице.
composer require tomasvotruba/phpstan-bodyscan --devЗапустите инструмент в вашем проекте. Это займет некоторое время, так как он будет выполнять полный анализ Phpstan для каждого уровня.
vendor/bin/phpstan-bodyscan↓
Чтобы получить количество ошибок на уровень:
+-------+-------------+-----------+
| 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 --bareМы вас покрыли:
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
}
]Вас интересует только несколько уровней? Вы можете ограничить диапазоны вариантами:
vendor/bin/phpstan-bodyscan run --min-level 0 --max-level 3Экспериментальный!
Вы заинтересованы в обучении PARAM, RETURN и DECLARATION PROPECT TIPE DECLARATION проекта?
Запустить команду 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
}
]На основе пакета типового покрытия.
Некоторые проекты должны загружать файл .env для запуска PHPSTAN. Вы можете сделать это так:
vendor/bin/phpstan-bodyscan run --env-file some-parameters.env Запуск PHPSTAN в новом проекте, который вы не знаете, может разбиться. Чтобы сохранить данные с готовых уровней, мы сбрасываем их в файл bodyscan-log.txt .
Если прогон сбоятся по какой -либо причине, выходной выход PHPSTAN также отбрасывается в тот же файл.
Счастливого кодирования!