Skip to content

Instantly share code, notes, and snippets.

@fivestar
Created July 5, 2010 16:55
Show Gist options
  • Save fivestar/464524 to your computer and use it in GitHub Desktop.
Save fivestar/464524 to your computer and use it in GitHub Desktop.

コーディング規約

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, ...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment