0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravel 10でLaravel Pintを使ってコード整形する方法

0
Posted at

結論

  • Laravel PintはLaravel公式のコード整形ツール
  • Laravel 10では初期状態で導入済みのため、インストール不要
  • VSCodeの保存時整形とPintが競合する場合があるため、PHPはPintで統一する運用が安全
  • Pint実行後にPHPStanで静的解析を確認すると、より安心して運用できる

Laravel Pintとは

Laravel PintはLaravel公式が提供するPHPのコード整形ツールです。
内部的にはPHP-CS-Fixerをベースとしており、Laravelの標準コーディング規約に沿った整形を自動で行ってくれます。

主な整形内容の例:

  • use 文の並び替え・整理
  • インデントの修正
  • 不要な空行の削除・追加
  • メソッドチェーンの整形

基本的にはコードの動作ではなく、「書き方を統一する」ためのツールです。


環境

項目 内容
Laravel 10.x
実行環境 Laravel Sail(Docker)
エディタ VSCode

Pintの導入確認

Laravel 10では通常インストール済みです。
以下のコマンドで確認できます。

sail composer show laravel/pint

インストール済みであれば、バージョン情報が表示されます。

name     : laravel/pint
descrip. : An opinionated code style fixer for minimalists.
...

未導入の場合は以下でインストールできます。

sail composer require laravel/pint --dev

実行方法

プロジェクトルートで以下を実行します。

sail pint

特定のファイルやディレクトリだけを対象にする場合はパスを指定します。

sail pint app/Http/Controllers

実行結果

整形が完了すると、修正されたファイルの一覧が表示されます。

FIXED ... style issues fixed

表示される整形ルールの例:

  • ordered_importsuse 文をアルファベット順に並び替え
  • single_line_after_importsuse 文の後に1行空ける
  • method_chaining_indentation … メソッドチェーンのインデントを統一

整形対象がなければ何も表示されず、正常終了します。


実際の変更内容

以下は自動整形によって変更された差分の例です。

+use Illuminate\Validation\ValidationException;

use 文の追加・並び替えや、インデントの調整が中心でした。
基本的には、コードの動作ではなく見た目や書き方を整える変更です。


PHPStan確認

Pintによる整形はコードの動作を変えませんが、念のため整形後に静的解析を実行しておくと安心です。

sail php ./vendor/bin/phpstan analyse

問題がなければ以下のように表示されます。

[OK] No errors

Pint適用後も問題なく解析を通過することを確認しました。


VSCodeの保存時整形との関係

VSCodeの保存時整形(editor.formatOnSave)が有効になっている場合、PintとVSCodeの整形が競合することがあります。
PHPファイルについてはVSCodeの保存時整形をOFFにし、Pintで統一する運用にしました。

settings.json に以下を追加します。

"[php]": {
    "editor.formatOnSave": false
}

これにより、PHPファイルの整形はPintに一本化されます。


Git管理

Pintを初回実行すると、多くのファイルに差分が発生します。
機能変更と混在させると差分が把握しにくくなるため、独立したコミットとして管理するのがおすすめです。

git add .
git commit -m "style: Laravel Pint適用"
git push

2回目以降は整形済みのファイルが増えるため、差分は少なくなります。


実際に触って感じたこと

Laravelの開発補助ツールを整理すると、それぞれ役割が異なります。

ツール 役割
Laravel Pint コード整形(書き方の統一)
Laravel IDE Helper IDEの補完強化
Larastan(PHPStan) 静的解析(型・ロジックの検査)

この3つを組み合わせると、コード品質を保ちながら開発しやすい環境が整います。
初学者のうちから導入しておくことで、書き方の癖がつきにくくなる点もメリットだと感じました。


ソースコード

今回使用した設定・コマンド例:

  • phpstan.neon … PHPStan設定ファイル
  • .vscode/settings.json … PHPの保存時整形OFFの設定
  • composer.json … Pintが require-dev に含まれているか確認
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?