Composer 项目集成 php-cs-fixer 并实现提交前自动格式化需三步:本地安装为 dev 依赖、配置 .php-cs-fixer.php 规则文件、绑定 Git 钩子;推荐本地安装确保团队一致性,禁用全局安装以防版本冲突。

在 Composer 项目中集成 php-cs-fixer 并实现提交前自动格式化,核心是三步:安装工具、配置规则、绑定 Git 钩子。重点不是“能不能做”,而是让流程稳定、可复现、不干扰日常开发。
安装 php-cs-fixer 到项目本地
推荐作为 dev 依赖安装,避免全局环境差异影响团队一致性:
- 运行 composer require --dev friendsofphp/php-cs-fixer
- 安装后命令路径为 vendor/bin/php-cs-fixer(Linux/macOS)或 vendor\bin\php-cs-fixer.bat(Windows)
- 不要用全局安装(如
composer global require),否则不同项目可能因版本冲突导致格式结果不一致
定义项目专属的 .php-cs-fixer.php 配置文件
在项目根目录新建 .php-cs-fixer.php,明确指定规则和作用范围:
- 基础示例(适配 PSR-12 + PHP 8+):
<?php
return (new PhpCsFixer\Config())
->setRules([
'@PSR12' => true,
'array_syntax' => ['syntax' => 'short'],
'declare_strict_types' => true,
'no_unused_imports' => true,
'ordered_imports' => true,
])
->setFinder(PhpCsFixer\Finder::create()
->in(['src', 'tests'])
->name('*.php')
->notName('*.blade.php')
->ignoreDotFiles(true)
->ignoreVCS(true)
)
->setCacheFile('.php-cs-fixer.cache');
登录后复制
-
务必设置
setCacheFile:加速后续运行,尤其对大项目明显 -
->in([...])明确限定目录,避免误处理 vendor 或生成文件 - 首次运行可加
--dry-run --diff参数预览改动,确认无意外变更
用 Composer 脚本 + Git pre-commit 钩子自动执行
不依赖第三方钩子管理器(如 Husky),用最简方式落地:
标签: 代码格式化 php linux git composer windows 工具 mac macos win 配置文件 c
还木有评论哦,快来抢沙发吧~