
PhpMetrics Docker镜像是PhpMetrics工具的官方容器化版本,用于对PHP项目和类进行全面的代码指标分析。该工具能够生成美观且易读的HTML报告,帮助开发者和项目管理者评估代码质量、维护性和结构合理性。通过Docker镜像,可以快速部署和使用PhpMetrics,无需在本地环境中复杂配置依赖。
通过Docker命令直接运行PhpMetrics,分析指定目录并生成HTML报告:
dockerdocker run -v $(pwd):/app phpmetrics/phpmetrics --report-html=myreport /app/src
-v $(pwd):/app:将当前目录挂载到容器内的/app目录,使PhpMetrics能够访问项目代码。--report-html=myreport:指定生成HTML报告的目录(容器内路径),报告将保存在/app/myreport(对应宿主机当前目录下的myreport文件夹)。/app/src:指定要分析的代码目录(容器内路径,对应宿主机当前目录下的src文件夹)。生成报告后,在宿主机中打开./myreport/index.html即可查看分析结果。
通过JSON配置文件进行高级配置,需将配置文件挂载到容器内并通过--config参数指定:
配置文件示例(phpmetrics.json)
json{ "includes": [ // 要分析的目录和文件(相对于配置文件目录) "src" ], "exclude": [ // 要排除的文件/目录(正则表达式) "tests" ], "report": { // 要生成的报告列表(html、json、csv或violation) "html": "/tmp/report/", // HTML报告的目标目录 "csv": "/tmp/report.csv", // CSV报告的目标文件 "json": "/tmp/report.json", // JSON报告的目标文件 "violations": "/tmp/violations.xml" // 违规检查报告的目标文件 }, "groups": [ // 代码分组(按正则表达式匹配类名,生成特定分组的HTML报告) { "name": "组件", // 分组名称 "match": "!component!i" // 匹配分组的正则表达式(不区分大小写) // 注意JSON中转义:如需匹配"\MyPackage\",需写成"!\\\\MyPackage\\\\!" }, { "name": "示例", "match": "!example!" } ], "plugins": { "git": { "binary": "git" // 启用Git分析(指定git可执行文件路径) }, "junit": { "file": "/tmp/junit.xml" // 启用JUnit报告分析(指定JUnit报告文件路径) } }, "extensions": [ "php", "php8" ] // 要分析的文件扩展名(默认:["php", "inc"]) }
使用自定义配置运行
dockerdocker run -v $(pwd):/app -v $(pwd)/phpmetrics.json:/config.json phpmetrics/phpmetrics --config=/config.json
-v $(pwd)/phpmetrics.json:/config.json:将宿主机的配置文件挂载到容器内的/config.json。--config=/config.json:指定使用容器内的配置文件进行分析。PhpMetrics还支持全局安装(通过APT、Brew等包管理器),更多详细文档可访问官方文档。
支持的详细指标可参考https://github.com/phpmetrics/PhpMetrics/blob/master/doc/metrics.md%EF%BC%8C%E5%8C%85%E6%8B%AC%E4%BB%A3%E7%A0%81%E5%A4%8D%E6%9D%82%E5%BA%A6%E3%80%81%E8%80%A6%E5%90%88%E5%BA%A6%E3%80%81%E7%BB%A7%E6%89%BF%E6%B7%B1%E5%BA%A6%E3%80%81%E4%BB%A3%E7%A0%81%E8%A1%8C%E7%BB%9F%E8%AE%A1%E7%AD%89%E3%80%82
PhpMetrics遵循https://github.com/phpmetrics/PhpMetrics/blob/master/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务