通过Composer集成代码质量工具可统一版本管理和团队协作,并便于CI/CD集成。首先选择PHPStan、Psalm、PHP_CodeSniffer、PHPMD、ECS等工具,使用composer require --dev安装。接着创建对应配置文件:phpstan.neon、phpcs.xml、phpmd.xml、.php-cs-fixer.dist.php,定义分析规则、代码风格和检查路径。然后在composer.json中添加scripts,如"phpstan": "phpstan analyse"等,方便调用。最后将这些命令写入CI/CD流程(如GitHub Actions),在每次提交时自动执行检查。自定义代码风格可通过修改phpcs.xml继承或调整规则实现;报错需根据提示修复问题,若为误报可在配置中谨慎忽略。

Composer 添加代码质量工具,本质上就是通过 Composer 管理代码质量工具的依赖,并配置相应的执行脚本,让这些工具能够集成到你的项目中。这样做的好处是版本控制统一,方便团队协作,也能更容易地在 CI/CD 流程中执行代码质量检查。
首先,你需要选择合适的代码质量工具。常见的 PHP 代码质量工具包括:
接下来,使用 Composer 安装这些工具。
composer require --dev phpstan/phpstan composer require --dev squizlabs/php_codesniffer composer require --dev phpmd/phpmd composer require --dev friendsofphp/php-cs-fixer
安装完成后,你需要配置这些工具。
PHPStan 配置:
在项目根目录下创建
phpstan.neon
parameters:
level: 5
paths:
- src
- testsPHP_CodeSniffer 配置:
创建
phpcs.xml
<?xml version="1.0"?>
<ruleset name="MyProject">
<description>My project coding standard</description>
<rule ref="PSR12"/>
</ruleset>PHPMD 配置:
创建
phpmd.xml
<?xml version="1.0"?>
<ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="My Project Ruleset"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/xsd/ruleset_2_0_0.xsd">
<description>
My custom ruleset.
</description>
<rule ref="rulesets/codesize.xml"/>
<rule ref="rulesets/unusedcode.xml"/>
<!-- Add other rulesets as needed -->
</ruleset>PHP-CS-Fixer 配置:
创建
.php-cs-fixer.dist.php
本文档主要讲述的是maven使用方法;Maven是基于项目对象模型的(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven将你的注意力从昨夜基层转移到项目管理层。Maven项目已经能够知道 如何构建和捆绑代码,运行测试,生成文档并宿主项目网页。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
0
<?php
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
$finder = Finder::create()
->in(__DIR__ . '/src')
->in(__DIR__ . '/tests');
$config = new Config();
return $config->setRules([
'@PSR12' => true,
'strict_param' => true,
'array_syntax' => ['syntax' => 'short'],
])
->setFinder($finder);最后,在
composer.json
{
"scripts": {
"phpstan": "phpstan analyse",
"phpcs": "phpcs",
"phpmd": "phpmd src text phpmd.xml",
"phpcbf": "phpcbf",
"php-cs-fixer": "php-cs-fixer fix"
}
}现在,你可以使用
composer phpstan
composer phpcs
composer phpmd
composer phpcbf
composer php-cs-fixer
将这些命令添加到你的 CI/CD 配置文件中。例如,如果使用 GitHub Actions,可以在
.github/workflows/main.yml
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: mbstring, intl
- name: Install Dependencies
run: composer install --no-interaction --no-progress --no-scripts
- name: Run PHPStan
run: composer phpstan
- name: Run PHP_CodeSniffer
run: composer phpcs
- name: Run PHPMD
run: composer phpmd这样,每次提交代码时,CI/CD 流程都会自动执行代码质量检查,并报告结果。
自定义代码风格标准,需要修改
phpcs.xml
<?xml version="1.0"?>
<ruleset name="MyProject">
<description>My project coding standard</description>
<rule ref="PSR12"/>
<rule ref="Generic.Arrays.DisallowLongArraySyntax">
<severity>0</severity>
</rule>
</ruleset>在这个例子中,我们禁用了
Generic.Arrays.DisallowLongArraySyntax
另外,你也可以完全自定义一套代码风格标准,但这需要花费更多的时间和精力。
代码质量工具的报错通常意味着代码中存在问题。你需要仔细阅读报错信息,找到问题所在,并进行修复。
修复这些报错可以提高代码质量,减少潜在的 bug。如果某些报错是误报,你可以通过配置文件忽略这些报错。例如,在 PHPStan 中,可以使用
ignoreErrors
parameters:
level: 5
paths:
- src
- tests
ignoreErrors:
- '#Access to an undefined property#'注意,忽略报错应该谨慎,只有在确认是误报的情况下才应该这样做。
以上就是composer如何给项目添加代码质量工具的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号