Laravel Pintとは
Laravel Pint は、PHP CS Fixer 上に構築されたコードスタイル自動修正ツールです。設定なしですぐに使えるよう設計されており、Laravelのコーディングスタイルに従ってコードを自動的に整形します。 チーム開発でよくある「コードスタイルのレビューコメント」を自動化することで、本質的なコードレビューに集中できるようになります。インストール
新しく作成したLaravelアプリケーションにはPintが自動でインストールされています。古いバージョンのプロジェクトには Composer でインストールしてください。実行方法
基本的な使い方
プロジェクト内のすべての.php ファイルを自動修正します。
オプション一覧
設定
プロジェクトルートにpint.json を作成することで動作をカスタマイズできます。
プリセット
プリセットはルールのセットです。デフォルトはlaravel プリセットで、Laravelプロジェクトに最適なルールが適用されます。
ルールのカスタマイズ
pint.json でルールを個別に有効・無効にできます。利用できるルールは PHP CS Fixer Configurator を参照してください。
ファイル・フォルダの除外
特定のフォルダをチェック対象から除外できます。notName を使います。
notPath を使います。
推奨設定
実際の開発現場で効果的なpint.json の設定例を紹介します。
no_unused_imports はパッケージ開発向けの設定です。 Pintのデフォルトは true(未使用の use 文を削除)なので、通常のLaravelプロジェクトではこの項目自体不要です。パッケージ開発ではトレイトやインターフェースのインポートで機能をオン/オフするパターンがあるため、false を追加しておき各パッケージの状況に合わせて true に変更する運用が便利です。composer.json への scripts 設定
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 を作成します。