PSR-2:標準化されたPHPコードの為の規約

基本

PSR-1に準拠

全てのPHPファイルは改行にLFを使わなければならない

ファイルの末尾は1行の空行で終わらせなければならない

ファイルがPHPのみの場合 ?>は省略せねばならない


ハードリミットは設けない

ソフトリミットは120文字で、警告の対象

行は80文字以内であるべき、超える場合は複数行に分割

行の末尾に空白をつけてはならない

可読性の為に空行を加えてもよい

1行に複数のステートメントがあってはならない


インデント

インデントはスペース4つで、タブの使用はしない


キーワード

キーワードは小文字で記述しなければならない

true、false、nullは小文字で記述しなければならない


名前空間

名前空間の定義後、空行を1行置く

use宣言は名前空間宣言の後に置く

宣言ごとに1つづつのuseを使う

useのブロックの後に空行を1行置く


クラス

extendsとimplementsはクラス定義と同じ行

開きブレイスは単独の行に、閉じブレイスは内容の次の行


プロパティ

全てのプロパティにアクセス権を設定

varキーワードは使用しない

1ステートメントに複数のプロパティを含めない

アンダースコアを前置きしてアクセス権を表現しない


メソッド

全てのメソッドにアクセス権を設定

アンダースコアを前置きしてアクセス権を表現しない

メソッド名宣言の後に空白を置かない、括弧の前後にスペースを置かない、ブレイスは独立した行にする


メソッドの引数

引数リストのカンマの前には空白を置かない

カンマの後には空白を1つ置く

デフォルトのある引数はリストの最後に置く


メソッドの引数2

引数リストを複数行にしてもよいが、その場合は閉じ括弧と開きブレイスを同じ行にする


absract、final、static

abstract、finalはアクセス権の前に置く

staticはアクセス権の後に置く


メソッドと関数の呼び出し

メソッド名と格好の間に空白を置かない

括弧の後に空白を置かない

カンマの前に空白を置かない、カンマの後に空白を置く

引数リストを複数行にインデントして分割もできる


制御構造

キーワードの後に空白を1つ置く

開き括弧の後と閉じ括弧の前に空白を置かない

閉じ括弧と開きブレイスの間には空白を1つ置く

メインのブロックは1レベルインデントする

閉じブレイスはメインのブロックの直後


if、else、else

else elseifはブレイスと同じ行

else ifではなくelseifを使用すべき


switch、case

caseはswitchからインデント、内容やbreakもインデント

意図的に何もしないcase処理はコメントを記述する


while、do while

for、foreach

try~catch

クロージャ

functionの後に空白を1つ置くuseの前後に空白

開き括弧の後、閉じ括弧の前に空白を置かない

カンマの前に空白を置かない、カンマの後に空白を置く

引数、変数のリストを複数行にしてもよい



最終更新:2012年12月15日 09:29