コーディング規約

Symfonyにコードを寄付する際、以下のコーディング規約に準拠する必要があります。これらを理解する手っ取り早い方法は既存のSymfonyのコードをまねることです。

構造

  • ショートタグは使ってはならない (<?)

  • クラスファイルの末尾にPHP終了タグ(?>)はつけてはならない

  • インデントにはスペース4つを用いる(タブは使ってはならない)

  • 改行コードにはLine Feed(0x0A)を用いる

  • 区切り文字のカンマの後ろにはスペースを1つ含める

  • 開始丸括弧の後ろと閉じ丸括弧の前にスペースを含めてはならない

  • 演算子の前後にはスペースを1つ含める (==, &&, ...)

  • 制御構造の開始丸括弧の前にはスペースを1つ含める (if, else, for, while, ...)

  • return文の前には空行を1行含める

  • 行末にスペースを含めてはならない

  • 制御構造を記述する際は必ず波括弧も記述する

  • クラス、メソッド、関数定義の波括弧は独立した行に記述する

  • 条件文と開始波括弧の間にはスペースを1つ含め、改行してはならない

  • クラス、メソッド、プロパティには必ずアクセス修飾子を宣言する (varは使用禁止);

  • PHPの内部定数(true, false, null)、およびarray()は小文字で記述する

  • 定数は大文字で宣言し、区切り文字にはアンダースコアを用いる

  • 1ファイルには1クラスのみ定義する

  • クラスのプロパティはメソッドの前に宣言する

  • publicメソッドを最初に宣言し、次にprotectedメソッドを宣言する

  • privateメソッドを宣言してはならない

命名規則

  • 変数、関数、メソッド名にはローワーキャメル(camelCase)を用い、アンダースコアは利用しない

  • オプションやパラメータの名称にはアンダースコアを用いる

  • すべてのクラスには名前空間を宣言する

  • トップレベルの名前空間はSymfonyとする

  • インターフェイスにはInterfaceサフィックスをつける

  • ファイル名には英数字およびアンダースコアを用いる

ドキュメンテーション

  • すべてのクラス、メソッド、関数にはPHPDocブロックを記述する

  • すべての@packageにはSymfonyが入る

  • @subpackageは名前空間のセカンドレベルの要素が入る。ただしComponentsは サードレベルの要素をアンダースコアでつける (Foundation, Components_Console, ...)

インデックス
Document Index

関連ページリスト
Related Pages

  • コーディング規約

日本語ドキュメント
Japanese Documents

リリース情報
Release Information

Symfony2 に関する情報(公式) Books on symfony