phpstan bodyscan
Released PHPStan Bodyscan 0.2
獲取每個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試驗
您是否有興趣學習該項目的參數,返回和屬性類型聲明覆蓋範圍?
運行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錯誤輸出也會被傾倒到同一文件。
愉快的編碼!