0

0

如何通过Composer Scripts自动格式化PHP代码_集成PHP-CS-Fixer或Pint到你的开发流程

冰火之心

冰火之心

发布时间:2026-01-02 14:43:53

|

983人浏览过

|

来源于php中文网

原创

通过Composer Scripts集成PHP-CS-Fixer或Pint可自动统一代码风格,提升团队协作效率。首先将工具作为开发依赖安装,PHP-CS-Fixer需配置.php-cs-fixer.php文件定义规则,Pint则可直接使用内置preset或通过pint.json定制;接着在composer.json中添加"format"和"check-style"等脚本命令,实现代码格式化与检查;最后结合Git钩子(如pre-commit)调用composer run pre-commit,实现提交前自动修复,确保代码库风格一致,适用于CI流程与团队协作场景。

如何通过composer scripts自动格式化php代码_集成php-cs-fixer或pint到你的开发流程

在现代PHP开发中,保持代码风格一致是团队协作和项目维护的重要环节。手动格式化不仅耗时还容易出错,通过Composer Scripts集成PHP-CS-Fixer或Pint,可以在开发流程中自动完成代码规范修复,提升效率与一致性。

使用Composer Scripts自动化代码格式化

Composer不仅用于依赖管理,其Scripts功能还能绑定自定义命令,在特定事件触发时执行。你可以将代码格式化工具作为脚本注册进去,比如在提交前、测试前或本地开发时自动运行。

步骤简述:

  • 安装PHP-CS-Fixer或Pint作为开发依赖
  • 配置规则文件(如.php-cs-fixer.phppint.json
  • composer.json中添加自定义scripts
  • 按需运行或结合Git钩子自动化执行

集成PHP-CS-Fixer

PHP-CS-Fixer是广泛使用的代码风格修复工具,支持PSR标准及大量自定义规则。

立即学习PHP免费学习笔记(深入)”;

安装方式:

composer require --dev friendsofphp/php-cs-fixer

在项目根目录创建.php-cs-fixer.php配置文件

$finder = PhpCsFixer\Finder::create()
->in(DIR . '/src')
->in(DIR . '/tests');

return PhpCsFixer\Config::create() ->setRules([ '@PSR12' => true, 'array_syntax' => ['syntax' => 'short'], 'ordered_imports' => true, ]) ->setFinder($finder);

然后在composer.json中添加脚本:

"scripts": {
    "format": "php-cs-fixer fix",
    "check-style": "php-cs-fixer fix --dry-run --diff"
}

现在可以通过以下命令格式化代码:

composer format       # 修复代码
composer check-style  # 检查是否符合规范(常用于CI)

集成Pint(Laravel官方推荐)

Pint是Laravel推出的轻量级代码美化工具,基于PHP-CS-Fixer核心,但无需额外配置即可开箱使用,更适合简单项目或Laravel生态。

Civitai
Civitai

AI艺术分享平台!海量SD资源和开源模型。

下载

安装Pint:

composer require --dev laravel/pint

可选:创建pint.json进行定制:

{
    "preset": "psr12",
    "rules": {
        "array_syntax": {"syntax": "short"},
        "ordered_imports": true
    },
    "paths": [
        "src/",
        "tests/"
    ]
}

添加Composer脚本:

"scripts": {
    "format": "pint",
    "check": "pint --test"
}

使用方式:

composer format  # 格式化所有指定文件
composer check   # 检查格式问题(CI中使用)

结合Git钩子实现自动格式化

为了进一步自动化,可以利用工具如composer-scriptssimple-git-hooks在提交代码前自动格式化。

例如使用 GrumPHP 或更轻量的 spatie/composer-backup 配合钩子管理。

一个简单的方案是在composer.json中使用脚本钩子:

"scripts": {
    "pre-commit": "composer format",
    "test": [
        "composer check-style",
        "// 其他测试命令"
    ]
}

再配合git hooks工具(如lefthookhusky-php),在pre-commit阶段调用composer run pre-commit,确保每次提交的代码都经过格式化。

基本上就这些。通过Composer Scripts集成格式化工具,既能统一团队编码风格,又能减少人工干预,让开发更专注业务逻辑。选择PHP-CS-Fixer还是Pint,取决于项目复杂度和团队偏好,两者都能很好地融入现代PHP工作流。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2027

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1358

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1266

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

948

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1402

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1231

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1440

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1303

2023.11.13

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

74

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号