通过 Composer 集成 PHP-CS-Fixer 可自动格式化代码,首先安装工具为开发依赖,接着在项目根目录配置 .php-cs-fixer.dist.php 定义规则,然后在 composer.json 中添加 scripts,如 "format" 手动执行格式化,"post-install-cmd" 和 "post-update-cmd" 在安装或更新依赖后自动触发格式化,推荐使用 vendor/bin/php-cs-fixer 确保路径一致,还可设置 "check-format" 脚本用于 CI 环境中检测格式问题而不修改文件,从而统一团队代码风格并融入日常开发流程。

要在 Composer 中自动执行代码格式化(如使用 PHP-CS-Fixer),你可以通过定义脚本钩子,在执行 Composer 命令时自动触发格式化工具。以下是具体实现步骤。
安装 PHP-CS-Fixer
推荐将 PHP-CS-Fixer 作为项目依赖或开发依赖安装,确保团队成员环境一致:
composer require --dev friendsofphp/php-cs-fixer这会把工具安装到 vendor/bin 目录下,可通过 ./vendor/bin/php-cs-fixer 调用。
配置 PHP-CS-Fixer 规则
在项目根目录创建 .php-cs-fixer.dist.php 文件,定义代码规范:
立即学习“PHP免费学习笔记(深入)”;
// .php-cs-fixer.dist.php$finder = PhpCsFixer\Finder::create()
->in(__DIR__ . '/src')
->in(__DIR__ . '/tests');
return PhpCsFixer\Config::create()
->setRules([
'@PSR12' => true,
'array_syntax' => ['syntax' => 'short'],
'no_unused_imports' => true,
])
->setFinder($finder);
这个配置会针对 src 和 tests 目录应用 PSR-12 等规则。
在 composer.json 中定义脚本
编辑 composer.json,添加自定义脚本和钩子:
"scripts": {"format": "php-cs-fixer fix",
"post-update-cmd": "php-cs-fixer fix",
"post-install-cmd": "php-cs-fixer fix"
}
说明:
- format:手动运行格式化:composer format
- post-install-cmd 和 post-update-cmd:每次执行 composer install 或 composer update 后自动格式化代码
如果全局未安装 php-cs-fixer,建议改用 vendor 路径:
"scripts": {"format": "vendor/bin/php-cs-fixer fix",
"post-install-cmd": "vendor/bin/php-cs-fixer fix"
}
可选:仅检查不修复
若只想在 CI 环境中检查格式问题,可添加一个只检测的命令:
"scripts": {"check-format": "vendor/bin/php-cs-fixer fix --dry-run --diff"
}
这个命令不会修改文件,但会输出哪些文件不符合规范,适合集成到 Git Hooks 或 CI/CD 流程中。
基本上就这些。通过 Composer 脚本集成 PHP-CS-Fixer,能有效保证团队代码风格统一,且无需额外配置即可在常规开发流程中自动执行。











