DevToolPal
日本語

PHP フォーマッター

公式の Prettier PHP プラグインで、PHP コードを PER Coding Style(PSR-12)に整形します。

ローカルで処理、アップロードなし

オプション

インデント
波括弧

入力

0 文字 · 0 B

出力

0 文字 · 0 B

このツールでできること

PHP フォーマッターは、乱雑なコード、圧縮されたコード、インデントがばらばらなコードを、コミュニティのコーディング規約に沿ったきれいなコードに整えます。型付きプロパティや readonly プロパティ、コンストラクタのプロモーション、アロー関数、enum、match 式、アトリビュートなど、モダンな構文に対応しています。

内部では公式の PHP プラグインを組み込んだ Prettier を実行しています。多くの Laravel や Symfony のチームがエディターや pre-commit フックで使っているのと同じ組み合わせなので、手元のツールと同じ結果が得られます。

使い方

  1. PHP コードを貼り付けるか、.php ファイルを開きます。短いスニペットなら先頭の <?php タグは省略できます。
  2. 入力に合わせて、整形されたコードが右側に表示されます。
  3. オプションを調整します。
    • インデント:PSR 標準はスペース 4 つです。スペース 2 つとタブも選べます。
    • 行の幅:これより長い行は、構文上可能な位置で折り返されます。
    • 波括弧:クラスと関数の波括弧を次の行(PER / PSR-12)に置くか、同じ行に置くかを選びます。
    • PHP バージョン:コードを動かす必要がある最も古いバージョンです。
    • シングルクォート と、複数行リストの 末尾のカンマ。
  4. 結果をコピーまたはダウンロードします。

コードに構文エラーがある場合は、パーサーが何を期待していたかと、停止した行と列がメッセージに表示されます。

例

サンプルは、すべてが詰め込まれた Laravel 風のコントローラーです。グループ化された use 文、プロパティの配列、コンストラクタのプロモーション、バリデーションの呼び出し、1 行で書かれた if、アロー関数を使った array_map が含まれています。整形すると、各メソッドの波括弧が独立した行に移り、演算子と => の前後にスペースが入り、if の本体が展開され、長い response()->json() の呼び出しは配列の要素 1 つにつき 1 行で、末尾のカンマ付きで折り返されます。

変更しないもの

フォーマッターが変えるのはレイアウトだけです。変数名の変更、use 文の並べ替え、array() から短縮構文への変換、ロジックの修正は行いません。PHPDoc ブロックを含むコメントは保持され、周囲のコードに合わせてインデントし直されます。

ヒント

  • プロジェクトの Prettier や PHP-CS-Fixer の設定と同じ行の幅と PHP バージョンを使うと、差分に無駄な変更が出ません。
  • ログやスタックトレースからコピーしたスニペットを整形すると、ずっと読みやすくなります。
  • Issue でコードを共有するときは、先に整形しておくとレビュアーが内容に集中できます。

よくある質問

› どのコーディングスタイルに従いますか?

既定では、PHP-FIG が公開している PSR-12 の後継、PER Coding Style に従います。クラスとメソッドの波括弧は独立した行に置き、制御構造の波括弧は同じ行に置き、インデントはスペース 4 つです。

› PHP バージョンを指定する意味は?

一部の構文は特定のバージョン以降でしか使えません。たとえば引数リストの末尾のカンマには PHP 8.0 が必要なので、それより古いバージョンを指定するとフォーマッターは末尾のカンマを付けません。コードを動かす必要がある最も古いバージョンを選んでください。

› HTML と PHP が混在したファイルも整形できますか?

はい。インライン HTML や短縮 echo タグを含むテンプレートファイルにも対応しています。PHP の部分は整形され、その間の HTML はそのまま残ります。

› コードはアップロードされますか?

いいえ。フォーマッターは完全にブラウザ内で動作し、サーバーには何も送信されません。