Skip to main content

什麼是 Laravel Pint

Laravel Pint 是建構於 PHP CS Fixer 之上的程式碼樣式自動修正工具。設計上零設定即可直接使用,並依循 Laravel 的程式撰寫風格自動整理程式碼。 自動化團隊開發中常見的「程式碼樣式的 review 留言」,讓大家能專注於本質性的程式碼審查。

安裝

新建立的 Laravel 應用程式已自動安裝 Pint。舊版專案請以 Composer 安裝:

執行方式

基本用法

自動修正專案內所有 .php 檔案。
也可以只指定特定檔案或目錄作為對象。

選項一覽

設定

可在專案根目錄建立 pint.json 自訂行為。
也能明確指定設定檔的路徑。

Preset

Preset 是一組規則集。預設為 laravel preset,會套用最適合 Laravel 專案的規則。

規則自訂

可在 pint.json 個別啟用/停用規則。可用規則請參閱 PHP CS Fixer Configurator

排除檔案/資料夾

可將特定資料夾排除在檢查範圍之外。
以檔名樣式排除時使用 notName
以特定檔案路徑排除時使用 notPath

建議設定

介紹在實際開發現場實用的 pint.json 設定範例。
各項規則加入的原因如下:
strict_comparisondeclare_strict_types 會強制型別嚴謹的程式風格,加入既有專案時,第一次的修改量可能會很大。新專案建議一開始就導入。
no_unused_imports 是給套件開發用的設定。 Pint 的預設為 true(移除未使用的 use),因此一般 Laravel 專案不需要此項。套件開發中,會使用 trait 或介面 import 來開關功能,因此先加入 false,再依各套件狀況改為 true 的做法很方便。

在 composer.json 設定 scripts

若在 composer.json 註冊 pint 用的 scripts,就能只用 composer pint 執行。
註冊後可如下執行:
在 CI 環境中,可用 composer pint:test 不變更檔案地偵測樣式違規。--test 選項在有錯誤時會回傳非零結束碼,可用於 CI 的通過檢查。

使用 GitHub Actions 自動執行

可用 GitHub Actions 在每次推送時自動修正程式碼樣式並 commit。
1

設定 Workflow 權限

在 GitHub 儲存庫的 Settings > Actions > General > Workflow permissions 啟用「Read and write permissions」。
2

建立 Workflow 檔案

建立 .github/workflows/lint.yml
此工作流程會在每次推送時執行 Pint,並自動 commit 修正樣式違規的檔案。
由於在 Pull Request review 前就已自動修正,可減少關於程式碼樣式的 review 留言。團隊導入時,建議先在本機一次修正所有檔案再加入工作流程,避免產生多餘的 commit。
最後修改於 2026年8月2日