PSR-2(Coding Style Guide)を見ていく
要約ですので、所々省いている箇所あります。
オリジナルはこちら
要点
PSR-2はPSR-1を継承/拡張した基本的なコーディング基準
開発者間でのコードリーディング時の認識のズレを減らすためのガイドライン
ルール自体にではなく、ルールを共有することに意味がある
概要
“coding style guide” PSR [PSR-1]
を守る- インデントは4スペース
- 1行内の文字数は上限はないが、120文字以内、できれば80文字以内に収める
namespace
の宣言後には空行を、use
宣言ブロックの後にも空行入れる- classの開きブレースは次の行に、閉じブレースはボディ最後の次の行に
- methodの開きブレースは次の行に、閉じブレースはボディ最後の次の行に
- property と methodには必ずアクセス修飾子を。
abstract
とfinal
はアクセス修飾子に前に、static
はアクセス修飾子の後ろに - 制御構造の後には1スペース、メソッド呼び出しの場合は除く
- 制御構造の開きブレースは同じ行で、閉じブレースはボディ最後の次の行で
- 制御構造の開き丸括弧の後にはスペースを置かない、閉じ丸括弧の前にはスペースを置かない
例としてはこちら
<?php namespace Vendor\Package; use FooInterface; use BarClass as Bar; use OtherVendor\OtherPackage\BazClass; class Foo extends Bar implements FooInterface { public function sampleMethod($a, $b = null) { if ($a === $b) { bar(); } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } }
全般
ファイル
- 改行は
Unix LF
- ファイル最後には空行を
?>
の閉じタグは不要
行
- 行末、空行にスペースは不要
- 1行に複数のステートメントは持たない
phpキーワード、True/False/Null
- phpキーワード、
true
,false
,null
は小文字で
methodの引数
- 引数リストはの
,
の後にはスペースを - 引数にデフォルト値があるものは最後に
- 引数を複数行にする場合は開き丸括弧の後に改行し、各行に1つずつ
PSR-3(Logger Interface)へ続く・・・ ここからが本番・・・