共通規約:

  • コードのインデントはすべてタブを使用し、エディタでタブをタブ文字として保存するように設定し、スペースとして保存しないでください。インデントのためにスペースをたくさん入力しないでください。
  • SVN / Git で新規作成するファイルのエンコーディングは、統一してUTF-8(BOMなし)を使用してください。
  • Unixスタイルの改行: LF
  • 直接アクセス可能なURLに含まれるファイル名はすべて小文字にし、複数の単語からなる場合はアンダースコアで接続します。
  • 行幅:120文字

コーディング規約

例

<?php // 先頭は <?php を使用しなければならない
// xxx@example.com 各ファイルには所有者のメールアドレスを明記しなければなりません

require_once('conf/config.inc.php'); // require_onceには括弧が必要で、左括弧の前にスペースを入れないでください

class CodingStandard { // 中括弧の前にはスペースを入れ、クラス名の先頭文字は大文字にし、複数の単語で構成される場合は各単語の先頭を大文字にします
    private $attribute; // プロパティのコメントは、その直後に記述します

    // 配列の形式
    public $color = array(
        '1' => 'red', // タブで1回インデントします
        '2' => 'blue',
        '3' => 'yellow',
        '4' => array(
            '1' => 'green', // 前の配列の整列位置からさらにタブで1回インデントします
            '2' => 'gray'
        ) // 配列の末尾は宣言した変数の先頭に揃えます
    ); // 配列の末尾は配列変数を宣言した位置に揃えます

    public $number = array(1, 2, 3, 4); // 単純な配列は1行にまとめてもよい

    // メソッドのコメントはスラッシュ2つ(//)を使用し、できるだけ1行で収めます
    function foo($i, $list) { // 1. 関数名の後の ( の前にはスペースを入れない 2. 複数のパラメータでカンマがある場合は、カンマの後にスペースを入れる
        for ($j = 0; $j < $i; $j++) { // for の後にはスペースを入れる
            echo "This is no.{$j}, content is {$list[$j]}"; // echo文には括弧を付けない。

            // echo文内の引用符は、シングルクォートかダブルクォートかを状況に応じて決定する
            echo '&lttable border="0" cellspacing="5" cellpadding="5"&gt';
        }
        if ($i > 0) { // 1. if の後にはスペースを入れる 2. 演算子の前後にはスペースを入れる
            return $i % 2; // 演算子の前後にはスペースがある
        } else { // else の前後にもスペースを入れる
            return null;
        }

        if ($j == $i) return 1; // if文の中が1文だけで短い場合は1行で書くことを推奨します。複数行に分ける場合は、前後に括弧を付けることを推奨します。

        $count = count($_SERVER); // 代入は外で行う
        if ($count > 10) echo 'pass'; // if文の中ではブール判定のみ行い、代入文は書かない
    }

    public static function testFunction() { // 静的メソッド・非静的メソッドの命名はすべてキャメルケースに従う
    }
}

$s = new CodingStandard(); // オブジェクトを new する場合は、後に括弧を必ず付ける
$s->foo(10, $s->color); // 関数の後の括弧にはスペースを入れない。関数内でパラメータが2つ以上ある場合は、カンマの後にスペースを入れる
CodingStandard::testFunction(); // 静的コードの呼び出し方法は一意であり、ダブルコロン(::)による呼び出しのみに限定する

// PHPファイルは必ず ?> で終了し、その後ろにスペースや空行がないことを保証する。
?>