tomasvotruba / lines
测量PHP项目的大小
0.6.0
2024-07-12 09:18 UTC
Requires
- php: >=7.2
README
CLI工具,用于快速测量PHP项目大小,可在任何地方运行
有哪些杀手级功能?
- 安装任何地方 - PHP 7.2?PHPUnit 6?Symfony 3?没问题,此包无依赖项,支持PHP 7.2+
- 快速了解项目大小 - 没有细节,没有复杂性,只有代码行数
- 获取易于处理的JSON输出
- 我们使之简单,让您享受阅读 - 对于更复杂的操作,请使用如PHPStan之类的静态分析
安装
该包已指定作用域,并降级到PHP 7.2。因此,您可以在任何地方使用任何依赖项安装它
composer require tomasvotruba/lines --dev
使用方法
vendor/bin/lines measure src
对于简短输出
vendor/bin/lines measure src --short
对于JSON输出,只需添加--json
vendor/bin/lines measure src --json
您还可以将它们结合起来(对于博客文章和推文非常有用)
vendor/bin/lines measure src --short --json
您在寻找最长的10个文件吗?
vendor/bin/lines measure src --longest
↓
Longest files line count
src/Measurements.php ............................... 320
src/Console/OutputFormatter/TextOutputFormatter.php 136
src/NodeVisitor/StructureNodeVisitor.php ........... 124
src/Console/Command/MeasureCommand.php .............. 98
src/Analyser.php .................................... 92
src/DependencyInjection/ContainerFactory.php ........ 81
src/Console/OutputFormatter/JsonOutputFormatter.php . 70
src/Finder/PhpFilesFinder.php ....................... 56
src/ValueObject/TableView.php ....................... 54
src/ValueObject/TableRow.php ........................ 40
测量项
对于文本输出,您将获得如下数据
Filesystem count Directories ......................................... 32 Files .............................................. 160 Lines of code count / relative Code ................................... 15 521 / 70.9 % Comments ................................ 6 372 / 29.1 % Total .................................. 21 893 / 100 % Structure count Namespaces .......................................... 32 Classes ............................................ 134 * Constants ........................................ 91 * Methods ....................................... 1 114 Interfaces .......................................... 20 Traits ............................................... 4 Enums ................................................ 1 Functions ........................................... 36 Global constants ..................................... 0 Methods count / relative Non-static .............................. 1 058 / 95 % Static ..................................... 56 / 5 % Public .................................... 875 / 78.5 % Protected .................................. 90 / 8.1 % Private ................................... 149 / 13.4 %
或者以JSON格式
{ "filesystem": { "directories": 10, "files": 15 }, "lines_of_code": { "code": 1064, "code_relative": 95.4, "comments": 51, "comments_relative": 4.6, "total": 1115 }, "structure": { "namespaces": 11, "classes": 14, "class_methods": 88, "class_constants": 0, "interfaces": 1, "traits": 0, "enums": 0, "functions": 5, "global_constants": 3 }, "methods_access": { "non_static": 82, "non_static_relative": 93.2, "static": 6, "static_relative": 6.8 }, "methods_visibility": { "public": 70, "public_relative": 79.5, "protected": 2, "protected_relative": 2.3, "private": 16, "private_relative": 18.2 } }
供应商文件扫描
此工具用例是测量您的代码,而不是第三方库。这就是为什么它默认忽略/vendor
目录,以避免巨大的误报。
如果您想测量供应商文件,请使用--allow-vendor
选项
vendor/bin/lines measure vendor/rector/rector --allow-vendor