什么是 Laravel Pint
Laravel Pint 是基于 PHP CS Fixer 构建的代码风格自动修复工具。它以「无需配置即可上手」为目标进行设计,会依照 Laravel 编码风格自动格式化代码。 将团队开发中常见的「代码风格 review 评论」自动化,可以让大家专注于更本质的代码评审。安装
新创建的 Laravel 应用中已经默认安装了 Pint。对于旧版本项目,可以通过 Composer 安装。运行方式
基本用法
自动修复项目中所有的.php 文件。
--blade 可以在本次运行中格式化 .blade.php 文件,且不会修改 pint.json。
Pint/laravel_blade 规则。Pint 会组合使用 Prettier 及 prettier-plugin-blade、prettier-plugin-tailwindcss,因此需要 Node.js。首次运行时若缺少任何 Prettier 依赖,会提示进行安装。
选项一览
配置
在项目根目录创建pint.json 可以自定义行为。
预设
预设即一组规则的集合。默认是laravel 预设,包含最适合 Laravel 项目的规则。
自定义规则
pint.json 可以逐条启用或关闭规则。可用规则请参阅 PHP CS Fixer Configurator。
排除文件或目录
可以从检查中排除特定目录。notName。
notPath。
推荐配置
以下是一份在实际开发中效果不错的pint.json 配置示例。
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。