什麼是 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 設定範例。
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。