PHP の波かっこを改行する

このページでは、すべての PHP の開き波かっこを独自の行に置き、閉じ波かっこをそれに合わせてそろえます。一般に Allman と呼ばれるスタイルです。波かっこが行末にあるか、すべて 1 行に並んでいるスニペットを貼り付けると、ブロックが縦にそろった状態で出力されます。

波かっこを改行する方法

  1. 1

    スニペットを貼り付ける

    現在の位置にある波かっこのまま、コードを PHP コードの欄に追加します。

  2. 2

    インデントを選ぶ

    各ブロックの中身に 2 または 4 スペースを選びます。

  3. 3

    次へ進む

    結果のページを開いて、整形されたコードを確認します。

  4. 4

    コードをコピーする

    ブロックがそろっていることを確認してから、コピーします。

このツールでの波かっこの配置

このツールには 1 つのレイアウトしかなく、選択肢はありません。すべての { は独自の行から始まり、すべての } は独自の行に置かれ、その中身は 1 階層インデントされます。そのため else と catch は、閉じ波かっこの後の新しい行から始まります。

波かっこが行末にある入力:

<?php if ($age >= 18) { echo "adult"; } else { echo "minor"; }

結果:

<?php if ($age >= 18)
{
    echo "adult";
}
else
{
    echo "minor";
}

どのスタイルを使うべきか

一般的な PHP のスタイルガイドでは、クラスやメソッドの開き波かっこを独自の行に置きます。一方、if や foreach などの制御構造では、波かっこを文と同じ行に残すことがよくあります。このツールは、どこでも改行するレイアウトを適用します。そのため、クラスとメソッドには適していますが、それ以外は意図的な選択になります。プロジェクトが混在スタイルに従っている場合は、制御構造の波かっこを手作業で元の行に戻す必要があります。

実用上の注意

  • 入れ子のブロックは引き続き字下げされるため、メソッド内のクラス内のループは 3 階層の深さになります。
  • 閉じ波かっこの後には改行が入るため、} とその後のコードが同じ行になることはありません。
  • コメントや heredoc のようなテキスト内の波かっこも本物の波かっことして数えられ、レイアウトがずれる場合があります。
  • 開き波かっこを文の行に残す設定はありません。このページではそのスタイルは作れません。

クラスの例

入力:

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

4 スペースでの結果:

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

クラスの波かっことメソッドの波かっこは、それぞれ単独の行にあり、メソッドの本体は上のプロパティよりもさらに 1 階層深く字下げされます。閉じ波かっこは、それを開いた行と縦にそろうため、ブロックを目で対応づけられます。

自分のスタイルとの組み合わせ

一部のブロックだけを変えたい場合は、そのブロックだけを貼り付けてください。各ブロックは閉じ波かっこで終わるため、結果をコピー&ペーストでファイルに戻すのが簡単です。ブロックの途中で始まったり終わったりする断片は貼り付けないでください。インデントの深さはゼロから始まるため、周囲のファイルと合わなくなります。

よくある質問

いいえ。このツールは開き波かっこを常に独自の行へ移動します。

クラスやメソッドでは一般的に使われます。if や foreach などの制御構造では、波かっこを同じ行に残すことが多いですが、このツールはそうしません。

どの閉じ波かっこも行を終わらせるため、その後ろに続くものは次の行から始まります。

どの波かっこのブロックも同じように扱うため、それらのブロックもインデントされます。case のラベルが正しく見えるか、結果を確認してください。

関連ツール

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

使い方ガイドと活用例