如何在Debian中使用Composer进行代码质量检查
导读:在 Debian 中使用 Composer 进行代码质量检查 一 环境准备 安装 PHP 与常用扩展(确保 CLI 可用):sudo apt update && sudo apt install php php-cli p...
在 Debian 中使用 Composer 进行代码质量检查
一 环境准备
- 安装 PHP 与常用扩展(确保 CLI 可用):sudo apt update & & sudo apt install php php-cli php-xml php-json -y
- 安装 Composer(全局可用): curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer composer --version
- 建议将全局 Composer 可执行目录加入 PATH(常见为 ~/.composer/vendor/bin),便于直接运行 phpcs/phpstan/phpmd 等命令。
二 安装与配置常用质量工具
- 通过 Composer 安装开发依赖(作为 –dev 安装,纳入版本控制便于团队统一): composer require --dev phpstan/phpstan composer require --dev squizlabs/php_codesniffer composer require --dev phpmd/phpmd composer require --dev friendsofphp/php-cs-fixer
- 建议的配置文件与用途一览(放在项目根目录):
- PHP_CodeSniffer:phpcs.xml(定义风格标准,如 PSR12)
- PHPMD:phpmd.xml(复杂度、未使用代码等规则)
- PHP-CS-Fixer:.php-cs-fixer.dist.php(自动修复风格问题)
- PHPStan:phpstan.neon(分析级别与路径)
- 示例最小配置:
- phpcs.xml My project coding standard
- phpmd.xml Custom rules
- phpstan.neon parameters: level: 5 paths: - src - tests
- .php-cs-fixer.dist.php use PhpCsFixer\Config; use PhpCsFixer\Finder; $finder = Finder::create()-> in(DIR.‘/src’)-> in(DIR.‘/tests’); $config = new Config(); return $config-> setRules([‘@PSR12’ => true, ‘array_syntax’ => [‘syntax’ => ‘short’]]) -> setFinder($finder);
- 如需更强的静态分析,可补充安装 Phan(需启用 php-ast 扩展):sudo apt-get install php-ast;随后 composer require --dev phan/phan 并初始化配置:./vendor/bin/phan --init。
三 用 Composer Scripts 一键执行检查
- 在 composer.json 中定义脚本,统一团队命令入口: { “scripts”: { “phpstan”: “phpstan analyse --configuration=phpstan.neon src”, “phpcs”: “phpcs --standard=phpcs.xml src”, “phpcbf”: “phpcbf --standard=phpcs.xml src”, “php-cs-fixer”: “php-cs-fixer fix --config=.php-cs-fixer.dist.php”, “phpmd”: “phpmd src text phpmd.xml”, “test”: “phpunit”, “qa”: [“@phpcs”, “@phpstan”, “@phpmd”], “quality”: [“@qa”, “@test”] } }
- 常用命令:
- 运行全部质量检查:composer quality
- 仅风格检查/自动修复:composer phpcs;composer phpcbf
- 静态分析:composer phpstan
- 复杂度与潜在问题:composer phpmd
- 运行测试:composer test
- 说明:上述命令依赖各工具已作为 –dev 安装;脚本支持组合、传参与配置文件路径,便于本地与 CI 复用。
四 提交前自动检查与 IDE 联动
- Git 提交前自动检查(阻止不合规代码入库):
- 方式一:使用 Composer 事件脚本
- 在 composer.json 添加:“scripts”: { “pre-commit”: “@qa” }
- 在 .git/hooks/pre-commit 写入:exec composer run-script pre-commit
- 方式二:手写钩子脚本(示例仅做 phpcs 校验) #!/usr/bin/env bash FILES=$(git diff --cached --name-only --diff-filter=ACMR | grep ‘.php$’) [[ -z “$FILES” ]] & & exit 0 for f in $FILES; do vendor/bin/phpcs --standard=phpcs.xml “$f” || { echo “phpcs failed: $f”; exit 1; } done exit 0
- 方式一:使用 Composer 事件脚本
- PHPStorm 联动(便于实时代码检查与一键执行):
- 配置 phpcs/phpmd/PHPStan:File > Settings > Languages & Frameworks > PHP > Code Sniffer / Quality Tools > PHP Mess Detector / PHPStan,选择对应可执行文件路径(如 vendor/bin/phpcs、vendor/bin/phpmd、vendor/bin/phpstan),并启用相应 Inspections。
- 在 Editor > Inspections 勾选 PHP Code Sniffer Validation,选择 PSR12 等规范,即可在编辑器中实时标记风格问题。
五 CI/CD 集成示例
- GitHub Actions(每次推送自动运行质量检查与测试): name: PHP Quality & Tests on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - 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 --optimize-autoloader - name: Run PHPStan run: composer phpstan - name: Run PHP_CodeSniffer run: composer phpcs - name: Run PHPMD run: composer phpmd - name: Run Tests run: composer test
- 说明:将脚本命令与配置纳入仓库,确保 CI 与本地一致,持续保障代码质量。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian中使用Composer进行代码质量检查
本文地址: https://pptw.com/jishu/773749.html
