jasny/php-code-quality

此包已被废弃,不再维护。未建议替代包。

质量保证工具链

v3.0.0 2024-07-23 11:12 UTC

README

编码规范

遵循 PSR-12 编码规范

安装

Jasny 的所有 PHP 项目都应包含此包。它可以通过 composer 安装。

composer require --dev jasny/php-code-quality

工具链

PHPUnit

PHPUnit 是一个针对 PHP 的程序员测试框架。单元测试应在 tests 目录中。

将 PHPUnit 配置复制到项目根目录

cp vendor/jasny/php-code-quality/phpunit.xml.dist .

vfsStream

vfsStream 是一个虚拟文件系统的流包装器,可能有助于在单元测试中模拟真实文件系统。

PHP CodeSniffer

phpcs 将 PHP 文件进行标记并检测违反定义的编码标准。它是一个确保代码保持整洁和一致性的必要开发工具。

此包包含一个自定义规则集,体现了 Jasny PHP 编码标准,应复制到项目根目录。

cp vendor/jasny/php-code-quality/phpcs.xml.dist phpcs.xml

PHPStan

PHPStan 是一个静态代码分析工具。它在运行实际代码行之前,可以将 PHP 接近编译语言,即可以检查每行代码的正确性。

将 PHPStan 配置复制到项目根目录

cp vendor/jasny/php-code-quality/phpstan.neon.dist phpstan.neon

Composer 脚本

Composer 可以配置为运行所有测试

"scripts": {
    "test": [
        "phpunit",
        "phpstan analyse",
        "phpcs -p src"
    ]
},
"scripts-descriptions": {
    "test": "Run all tests and quality checks"
}

要运行所有测试,请执行

composer run-script test

服务

开源项目应使用所有这些质量保证服务。闭源项目可以使用单个服务同时运行测试和代码质量检查,以节省成本。

GitHub actions

GitHub actions 将在每个 pull-request 和 master 分支的推送中运行所有单元测试。

将 php-code-quality 目录中的 github 文件夹复制过来。

cp -r vendor/jasny/php-code-quality/github .github

Scrutinizer

Scrutinizer 使用 PHP CodeSniffer、PHPStan 和 Scrutinizer 的自定义分析工具测试代码质量。它还收集测试覆盖率结果。