tomasvotruba / phpstan-bodyscan
获取每个PHPStan级别的错误计数
0.2.5
2024-06-01 04:44 UTC
Requires
- php: >=7.2
- phpstan/phpstan: ^1.11
README
- 你想快速查看新项目的代码质量吗?
- 你想知道,对于你的项目来说,最好的PHPStan级别是什么吗?
- 你想知道,你将面临多少错误,以了解达到这些级别有多难吗?
获取每个PHPStan级别的错误计数!
它是如何工作的?
首先,我们在项目根目录中寻找phpstan.neon
文件。
- 如果找到了,我们就重用它。
- 如果没有找到,我们会查找默认的源代码路径,如
/src
、/app
、/tests
等。
然后,我们对从0到8级别的每个级别运行PHPStan。我们统计错误并在表中显示它们。
安装
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-ignore
你想运行不包含扩展的级别吗?
vendor/bin/phpstan-bodyscan --bare
你需要JSON格式吗?
我们已经为你准备好了
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的错误输出也将转储到同一文件。
快乐的编码!