PHP コードの整形ツール

この PHP コード整形ツールを使うと、詰まったスニペットを読みやすい形にできます。各文を独自の行に置き、波かっこを別の行に移し、入れ子のブロックを 2 または 4 スペースでインデントします。これは単純なテキストの再配置なので、プロジェクト全体ではなく、短くシンプルなコードに向いています。

PHP コードを整形する方法

  1. 1

    コードを貼り付ける

    スニペットを PHP コードの欄に入れます。開始タグは省略できます。

  2. 2

    インデントを選ぶ

    2 または 4 スペースを選びます。PHP では 4 が一般的な選択です。

  3. 3

    結果へ進む

    主要なボタンを使うと、整形された出力が開きます。

  4. 4

    コピーする前に読む

    元のコードと見比べて確認してから、コピー用のボタンを使います。

ここでの整形とは

整形はレイアウトだけを変えます。整形の前後でコードの動作は同じでなければなりません。このツールは、短い一連のレイアウトルールを適用します。

  • すべてのセミコロンで行を終わらせます。
  • すべての開き波かっこと閉じ波かっこを、それぞれ独自の行に置きます。
  • 波かっこの中のコードは、入れ子の深さごとに 1 階層インデントします。
  • カンマの後には 1 つのスペースを入れます。
  • 結果の空行は削除します。

演算子の前後にスペースを追加したり、名前を変更したり、コードの順序を入れ替えたりはしません。

整形前と整形後の例

入力:

<?php class User{private $name;public function getName(){return $this->name;}}

4 スペースでの結果:

<?php class User
{
    private $name;
    public function getName()
    {
        return $this->name;
    }
}

1 行にまとめて貼り付けた場合、開始タグは最初の文と同じ行に残ることに注意してください。タグを別の行に分けたい場合は、入力の段階でタグを独自の行に置いてください。

別のツールを使うべき場合

このツールは波かっこやセミコロンを通常の文字として数えます。PHP を解析するわけではないため、プロジェクトのスタイルガイドに従ったり、長い行を折り返したり、= や + の周りの空白を直したりはできません。コメント、heredoc、for (;;) のループは、セミコロンが通常の文字として扱われるため、崩れる場合があります。コードベース全体を扱うなら、エディタやビルドのパイプラインで設定した修正ツールを使い、このページは簡単な一回限りの整理用に使ってください。

ループを含む関数の整形

詰まった入力:

function total($items){$sum=0;foreach($items as $item){$sum+=$item["price"];}return $sum;}

波かっこが開くたびに新しい階層が始まるため、ループの本体は 2 階層下に置かれ、return は 1 階層に戻ります。上から下に読むと、ループが $sum に加算し、関数が最後にそれを返していることがわかります。1 行の状態では見えにくかった構造です。

2 スペースか 4 スペースか

4 スペースは PHP コードで一般的な幅で、最も読みやすい設定です。コードが深く入れ子になっている場合や、貼り付け先がチャットメッセージのように狭い場合は 2 を選びます。この設定が変えるのはインデントだけで、改行の位置は変わりません。

結果を確認する

整形されたコードは見直しやすくなります。それが目的です。波かっこの不足や過剰がないか一度読んでください。ツールは問題を報告せずに数えているためです。終わり近くでインデントが不自然にずれる場合、入力の波かっこの対応が取れていないのが通常の原因です。

よくある質問

変えるべきではありません。空白だけを動かすからです。ただし、コメントや heredoc は認識されないため、結果を元のコードと比べ、実際に実行して確認してください。

このツールは演算子の前後にスペースを追加しません。波かっことセミコロンでの改行、インデント、カンマの後のスペースを扱います。

そのためには設計されていません。HTML の部分にある波かっこやセミコロンも PHP と同じように扱われるため、純粋な PHP のスニペットに使ってください。

いいえ。PHP の開始タグがあってもなくても、断片を貼り付けられます。

関連ツール

このツールは他の言語でも利用できます

使い方ガイドと活用例