Docker 镜像为 PHP 提供静态分析工具。可用工具和安装程序的列表实际上是在jakzal/toolbox
存储库中管理的。
Docker hub 存储库:https://hub.docker.com/r/jakzal/phpqa/
每晚构建:https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
, debian
(Dockerfile)1.99.0
1.99.0-debian
、 1.99-debian
1.99
Dockerfile)1.99.0-php8.1
1.99-php8.1
、 php8.1-debian
、 php8.1
(Dockerfile)1.99.0-php8.2
1.99-php8.2
、 php8.2-debian
、 php8.2
(Dockerfile)1.99.0-php8.3
1.99-php8.3
、 php8.3-debian
、 php8.3
(Dockerfile)alpine
(Dockerfile)1.99.0-alpine
, 1.99-alpine
, (Dockerfile)1.99.0-php8.1-alpine
、 1.99-php8.1-alpine
、 php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
、 1.99-php8.2-alpine
、 php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
、 1.99-php8.3-alpine
、 php8.3-alpine
(Dockerfile)每日更新: latest
、 debian
、 alpine
、 php8.4
、 php8.4-alpine
等。补丁版本更改更新: 1.61
1.61-php8.4
1.61-php8.4-alpine
等。从未更新: 1.61.0
1.61.0-php8.4
1.61.0-php8.4-alpine
, ETC。
这些是不再受支持的 PHP 版本的最新标签:
1.92.7-php8.0
1.93-php8.0
、 php8.0-debian
、 php8.0
(Dockerfile)1.92.7-php8.0-alpine
、 1.93-php8.0-alpine
、 php8.0-alpine
(Dockerfile)1.80.0-php7.4
1.80-php7.4
、 php7.4-debian
、 php7.4
(Dockerfile)1.80.0-php7.4-alpine
、 1.80-php7.4-alpine
、 php7.4-alpine
(Dockerfile)1.61.2-php7.3
1.61-php7.3
、 php7.3-debian
、 php7.3
(debian/Dockerfile)1.61.2-php7.3-alpine
、 1.61-php7.3-alpine
、 php7.3-alpine
(alpine/Dockerfile)1.44.0-php7.2
1.44-php7.2
、 php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
、 1.44-php7.2-alpine
、 php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
1.26-php7.1
、 php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
、 1.26-php7.1-alpine
、 php7.1-alpine
(7.1/alpine/Dockerfile) 姓名 | 描述 | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|
行为 | 有助于测试业务预期 | ||||
盒子 | 具有 PHAR 的快速、零配置应用程序捆绑器 | ||||
盒子3 | 具有 PHAR 的快速、零配置应用程序捆绑器 | ||||
流失 | 发现重构的良好候选者 | ||||
代码接收 | Codeception是一个BDD风格的PHP测试框架 | ||||
作曲家 | PHP 的依赖管理器 | ||||
作曲家 bin 插件 | 用于在隔离位置安装 bin 供应商的 Composer 插件 | ||||
作曲家规范化 | 用于标准化composer.json文件的Composer插件 | ||||
作曲家要求检查者 | 验证包的源中没有使用未知符号。 | ||||
作曲家要求检查器 3 | 验证包的源中没有使用未知符号。 | ||||
作曲家未使用 | 通过扫描代码显示未使用的包 | ||||
依赖 | 检测架构中的缺陷 | ||||
弃用检测器 | 查找已弃用代码的用法 | ||||
德普特拉克 | 强制软件层之间的依赖关系规则 | ||||
差异过滤器 | 应用 QA 工具在单个拉取请求上运行 | ||||
ECS | 设置并运行编码标准检查 | ||||
感染 | 基于 AST 的 PHP 突变测试框架 | ||||
拉拉斯坦 | Laravel 的 PHPStan 扩展 | ||||
本地 php 安全检查器 | 检查 Composer 依赖项是否存在已知安全漏洞 | ||||
并行 lint | 检查 PHP 文件语法 | ||||
副试验 | PHPUnit 的并行测试 | ||||
依赖 | 静态分析工具 | ||||
害虫 | 优雅的 PHP 测试框架 | ||||
潘 | 静态分析工具 | ||||
菲韦 | PHAR安装和验证环境 | ||||
php-cs-修复程序 | PHP 编码标准修复程序 | ||||
php 模糊器 | PHP 的模糊器,可用于通过向库提供“随机”输入来查找库中的错误 | ||||
php-semver-检查器 | 根据语义版本控制建议下一个版本 | ||||
帕帕 | 检查弱假设 | ||||
PHPARKITECT | 有助于在 PHP 代码库中添加架构约束 | ||||
phpat | 易于使用的架构测试工具 | ||||
phpbench | PHP 基准测试框架 | ||||
phpca | 查找非内置扩展的使用 | ||||
phpcb | PHP 代码浏览器 | ||||
phpcbf | 自动纠正违反编码标准的行为 | ||||
phpcodesniffer-composer-安装 | 轻松安装 PHP_CodeSniffer 编码标准(规则集)。 | ||||
phpcov | PHP_CodeCoverage 库的命令行前端 | ||||
phpcpd | 复制/粘贴检测器 | ||||
phpcs | 检测编码标准违规行为 | ||||
phpcs-安全审计 | 查找 PHP 代码中与安全相关的漏洞和弱点 | ||||
phpdd | 查找已弃用功能的使用 | ||||
php文档管理器 | 文档生成器 | ||||
phpinsights | 分析代码质量、风格、架构和复杂性 | ||||
phplint | 并行 lints php 文件 | ||||
phploc | 快速测量PHP项目大小的工具 | ||||
phpmd | 用于查找 PHP 代码问题的工具 | ||||
php指标 | 静态分析工具 | ||||
phpmnd | 帮助检测魔术数字 | ||||
php规范 | 规范BDD框架 | ||||
php斯坦 | 静态分析工具 | ||||
phpstan 禁止代码 | PHPStan 规则用于检测对项目中不需要的特定函数的调用 | ||||
phpstan-beberlei-断言 | beberlei/assert 的 PHPStan 扩展 | ||||
phpstan 弃用规则 | 用于检测已弃用代码的 PHPStan 规则 | ||||
phpstan 主义 | PHPStan 的学说扩展 | ||||
phpstan-ergebnis-规则 | PHPstan 的附加规则 | ||||
phpstan 异常规则 | PHPStan 针对已检查和未检查异常的规则 | ||||
phpstan-拉拉斯坦 | 为 larastan 单独安装 phpstan | ||||
phpstan-phpunit | PHPUnit 的 PHPStan 扩展和规则 | ||||
phpstan 严格规则 | PHPStan 的额外严格且固执己见的规则 | ||||
phpstan-symfony | PHPStan 的 Symfony 扩展 | ||||
phpstan-webmozart-断言 | 用于 webmozart/assert 的 PHPStan 扩展 | ||||
php单元 | PHP测试框架 | ||||
phpunit-10 | PHP测试框架(10.x版本) | ||||
phpunit-8 | PHP测试框架(8.x版本) | ||||
phpunit-9 | PHP测试框架(9.x版本) | ||||
品脱 | Laravel 的自以为是的 PHP 代码风格修复程序 | ||||
诗篇 | 查找 PHP 应用程序中的错误 | ||||
诗篇插件教义 | 让诗篇更好地理解教义的存根 | ||||
诗篇插件 phpunit | PHPUnit 的 Psalm 插件 | ||||
诗篇插件 symfony | Symfony 的诗篇插件 | ||||
伪解析 | 扫描代码以查找潜在的安全相关问题 | ||||
校长 | 用于即时代码升级和重构的工具 | ||||
roave 向后兼容性检查 | 用于比较类 API 的两个版本以检查 BC 中断的工具 | ||||
简单的 phpunit | 提供实用程序来报告遗留测试和已弃用代码的使用情况 | ||||
twig-cs-修复器 | 按照官方编码标准规则自动更正twig文件 | ||||
树枝绒 | 独立 cli twig 1.X linter | ||||
树枝短绒 | 独立 cli twig 3.X linter | ||||
树枝 | 树枝缺失的格子样式! | ||||
yaml-lint | 用于检查 YAML 文件语法的紧凑命令行实用程序 |
有些工具不包含在 docker 镜像中,要使用它们,请参阅它们的文档:
姓名 | 概括 |
---|---|
分析 | 可视化指标和源代码 |
盒子遗产 | 旧版盒子 |
作曲家规范化 | 用于标准化composer.json文件的Composer插件 |
设计模式 | 检测设计模式 |
并行 lint | 检查 PHP 文件语法 |
php-耦合检测器 | 检测代码耦合问题 |
php 格式化程序 | 自定义编码标准修复程序 |
phpcf | 查找已弃用功能的使用 |
phpda | 生成依赖图 |
phpdoc 到 typehint | 基于PHPDocs自动添加类型提示和返回类型 |
phpstan-localheinz-规则 | PHPstan 的附加规则 |
安全检查器 | 检查 Composer 依赖项是否存在已知安全漏洞 |
可测试性 | 分析和报告 php 代码库的可测试性问题 |
拉取镜像:
docker pull jakzal/phpqa
默认命令将列出可用的工具:
docker run -it --rm jakzal/phpqa
要在容器内运行所选工具,您需要使用-v "$(pwd):/project"
将项目目录挂载到容器上。有些工具喜欢写入/tmp
目录(例如 PHPStan,或在某些情况下为 Behat),因此在 docker 运行之间共享它通常很有用,即使用-v "$(pwd)/tmp-phpqa:/tmp"
。如果您希望能够在所选工具花费太多时间才能完成时中断该工具,则可以使用--init
选项。请参阅 docker run 文档以获取更多信息。
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
您可能需要根据需要调整此命令并创建一个别名以方便使用:
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
将其添加到您的~/.bashrc
中,以便每次启动新的终端会话时都会定义它。
现在命令变得简单多了:
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
构建高山版本:
make build-alpine
请查看食谱以获取更多提示和技巧。
请阅读贡献指南以了解如何为该项目做出贡献。请注意,该项目是随贡献者行为准则一起发布的。参与该项目即表示您同意遵守其条款。