phploc是一个快速测量PHP项目大小的工具
结果支持raw csv xml json格式,可输出文件或者打印到控制台
安装
PHAR方式
wget https://phar.phpunit.de/phploc.phar
php phploc.phar -v
Composer方式(推荐)
composer global require --dev phploc/phploc
phploc -v
使用
phploc --log-xml reports/phploc_result.xml ./app
参数说明
–suffix .php 指定要扫描的文件后缀,默认是.php, 这个参数可以出现多次,以指定多个后缀
–exclude vendor 排除要扫描的文件夹,也可以出现多次
–count-tests 统计单元测试
–log-csv reports/xx.csv
–log-xml reports/xx.xml
–log-json reports/xx.json 指定生成结果的文件类型并指定文件存储地址
执行结果解析
指标 | 描述 | 重点关注 |
---|---|---|
Directories | 项目中包含的目录数量 | |
Files | 项目中包含的文件数量 | |
Lines of Code (LOC) | 项目中的总代码行数,包括注释和空白行 | |
Cyclomatic Complexity / Lines of Code | 平均每行代码的圈复杂度。这通常不是直接的比较指标,但可以作为一个参考。 | |
Comment Lines of Code (CLOC) | 项目中的注释行数 | |
Non-Comment Lines of Code (NCLOC) | 项目中的非注释代码行数 | |
Logical Lines of Code (LLOC) | 逻辑代码行数(即去除空行和注释后的行数) | |
LLOC outside functions or classes | 不在函数或类定义中的逻辑代码行数 | * |
Namespaces | 命名空间 | |
Interfaces | 接口 | |
Traits | ||
Classes | 类 | |
Abstract Classes | 抽象类 | |
Concrete Classes | 具体类 | |
Final Classes | 最终类 | |
Non-Final Classes | 非最终类 | |
Classes Length (LLOC) | 类定义中的逻辑代码行数 | * |
Methods | 项目中的方法总数 | |
Non-Static Methods | 非静态方法总数 | |
Static Methods | 静态方法总数 | |
Public Methods | ||
Non-Public Methods | ||
Protected Methods | ||
Private Methods | ||
Cyclomatic Complexity / Number of Classes | 每个类圈复杂度 | * |
Cyclomatic Complexity / Number of Methods | 每个方法圈复杂度 | * |
Functions | 项目中的函数总数 | |
Named Functions | 命名函数数量 | |
Anonymous Functions | 匿名函数数量 | |
Functions Length (LLOC) | 函数定义中的逻辑代码行数 | * |
Average Function Length (LLOC) | 函数的平均长度 | * |
Average Class Length | 类的平均长度 | * |
Average Method Length | 方法的平均长度 | * |
Average Methods per Class | 每类方法的平均长度 | * |
Constants | 常量数量 | |
Global Constants | 常量数量 | |
Class Constants | 类常量数量 | |
Public Class Constants | 公开类常量数量 | |
Non-Public Class Constants | 非公开类常量数量 | |
Attribute Accesses | 属性访问次数 | |
Non-Static Attribute Accesses | 非静态属性访问次数 | |
Static Attribute Accesses | 静态属性访问次数 | |
Method Calls | 方法调用的次数 | |
Non-Static Method Calls | 非静态方法调用的次数 | |
Static Method Calls | 静态方法调用的次数 | |
Global Accesses | 全局访问的次数 | |
Global Variable Accesses | 全局变量访问的次数 | |
Super-Global Variable Accesses | 超全局变量访问的次数 | * |
Global Constant Accesses | 全局常量访问的次数 | |
Test Classes | ||
Test Methods |
Jenkins中的应用
转载请保留出处,都看到这里了,点个赞再走吧
PHP质量工具系列
PHP/JS质量工具,安全工具 总结
TOP 6 PHP代码质量工具
PHP质量工具系列之php-depend
PHP质量工具系列之phpmd
PHP质量工具系列之phpcpd
PHP质量工具系列之phploc
PHP质量工具系列之paslm
PHP质量工具系列之phpstan
PHP质量工具系列之Owasp dependency-check
PHP质量工具系列之php_codesniffer
PHP质量工具系列之phpunit
PHP质量工具系列之xhprof
SBOM生成之CycloneDX
CI/CD之Jenkins插件使用系列
jenkins插件之Jdepend
jenkins插件之plot
jenkins插件之dependency-check
jenkins插件之Warnings
jenkins插件之xunit