跳转到主要内容

什么是 Laravel Pint

Laravel Pint 是基于 PHP CS Fixer 构建的代码风格自动修复工具。它以「无需配置即可上手」为目标进行设计,会依照 Laravel 编码风格自动格式化代码。 将团队开发中常见的「代码风格 review 评论」自动化,可以让大家专注于更本质的代码评审。

安装

新创建的 Laravel 应用中已经默认安装了 Pint。对于旧版本项目,可以通过 Composer 安装。

运行方式

基本用法

自动修复项目中所有的 .php 文件。
也可以只对特定文件或目录进行处理。

选项一览

配置

在项目根目录创建 pint.json 可以自定义行为。
也可以显式指定配置文件路径。

预设

预设即一组规则的集合。默认是 laravel 预设,包含最适合 Laravel 项目的规则。

自定义规则

pint.json 可以逐条启用或关闭规则。可用规则请参阅 PHP CS Fixer Configurator

排除文件或目录

可以从检查中排除特定目录。
按文件名模式排除可以使用 notName
按特定文件路径排除可以使用 notPath

推荐配置

以下是一份在实际开发中效果不错的 pint.json 配置示例。
各规则的目的说明:
strict_comparisondeclare_strict_types 会强制更严格的类型代码,若在已有项目中启用,首次修改量可能较大。新项目建议一开始就引入。
no_unused_imports 主要面向包开发场景。 Pint 默认已经是 true(删除未使用的 use),因此常规 Laravel 项目并不需要显式配置。在包开发中,可能会通过 trait 或接口导入来开关功能,此时先加上 false,再根据各包实际情况改为 true 更加灵活。

在 composer.json 中注册脚本

composer.json 中注册 pint 相关脚本后,就可以直接通过 composer pint 执行。
注册后可像下面这样运行:
在 CI 环境中可以使用 composer pint:test,它会在不修改文件的情况下检测风格违规。--test 选项在有错误时会返回非零退出码,可用于 CI 的通过判断。

在 GitHub Actions 中自动执行

可以借助 GitHub Actions,在每次推送时自动修复代码风格并提交。
1

设置 Workflow 权限

在 GitHub 仓库 Settings > Actions > General > Workflow permissions 中启用「Read and write permissions」。
2

创建 Workflow 文件

创建 .github/workflows/lint.yml
该工作流会在每次推送时运行 Pint,并自动提交修复后的文件。
由于在 Pull Request 评审前就完成了自动修复,可以显著减少关于代码风格的评论。团队引入时,先在本地对全部文件修复一次,再添加工作流,可以避免额外的提交。
最后修改于 2026年7月18日