推荐在项目中用 composer 安装 php-CS-Fixer 作为 dev 依赖,创建 .php-cs-fixer.php 配置规则与扫描范围,通过 vendor/bin/php-cs-fixer fix 自动修复或 –dry-run –diff 预览差异,并集成到 git 钩子、CI 和 ide 中。

直接在项目中用 Composer 安装并配置 PHP-CS-Fixer,是最轻量、最可控的方式——它不依赖全局环境,能和项目版本绑定,团队协作时规范一致。
安装 PHP-CS-Fixer 到 dev 依赖
运行以下命令,将 PHP-CS-Fixer 作为开发依赖加入 composer.json:
composer require --dev friendsofphp/php-cs-fixer
安装后,可执行 vendor/bin/php-cs-fixer --version 验证是否就绪。注意:不要用 --global,避免不同项目间规则冲突。
配置规则文件 .php-cs-fixer.php
在项目根目录创建 .php-cs-fixer.php,定义你想启用的编码风格。例如使用 PSR-12 + 少量自定义:
立即学习“PHP免费学习笔记(深入)”;
- 返回一个
PhpCsFixerConfig实例 - 用
setRules()指定规则数组,如['@PSR12' => true, 'array_syntax' => ['syntax' => 'short']] - 用
setFinder()限定扫描范围,比如只处理src/和tests/下的.php文件
配置写好后,工具就知道“修什么”和“在哪修”。
日常使用:检查与自动修复
两条常用命令足够覆盖大部分场景:
-
vendor/bin/php-cs-fixer fix—— 自动修复所有可修复的问题 -
vendor/bin/php-cs-fixer fix --dry-run --diff—— 只预览差异,不写入文件(适合 CI 或代码审查前确认)
建议把后者加到 Git pre-commit 钩子或 github Actions 中,确保提交前格式统一。
与 IDE 协同(如 phpstorm)
可在编辑器里直接调用项目本地的 php-cs-fixer:
- 设置 External Tools,路径填
vendor/bin/php-cs-fixer - 参数设为
fix --using-cache=no $FilePath$,保证实时生效 - 绑定快捷键,保存时一键格式化,体验接近原生支持
这样既不污染全局环境,又让团队成员无论用什么系统,都跑同一套规则。
基本上就这些。不需要额外服务,不改全局配置,靠 Composer 管着二进制和规则,干净又可靠。