PSRとは
-
PHP Standard Recommendation の略。
直訳すると「PHP標準の推奨事項」であり、その名のとおりPHPでコードを書く際の推奨事項をまとめたもの。
PHPで最もスタンダードなコーディング規約である。 -
策定団体はPHP-FIG
PHP Framework Interop Group の略。
直訳すると「PHPフレームワーク相互運用性グループ」
PHPの各フレームワークごとにコーディング規約が微妙に異なる → 統一的なルールの策定のため、各フレームワークの関係者が集まって結成された。
なお当団体はPHPの非公式団体である。
PSRから読み解く命名規則
- 変数名、定数名、関数名については記載なし。
- クラス名・クラス定数名・プロパティ・メソッドについてはPSR-1に記載あり。
(概要は以下のとおり) - プロパティについては「書き方はなんでも良いけど合理的な範囲で一貫性を持たせようぜ」と書いてあり、特に記法に定めはない。
クラス名・クラス定数名・プロパティ・メソッドについて
ClassName // クラス名:アッパーキャメルケース(スタッドリーキャップス)
{
const MIN_VALUE = 0.0; // クラス定数名:アッパースネークケース
public $bar = 0; // プロパティ名:定めなし
public function calcInclTax(){ // メソッド名:キャメルケース
}
}
通常の変数名、定数名、関数名についてはどうすべきか
- クラスと同様に運用するのが分かりやすいと思われる。PSRに準拠するなら以下のような感じ。
定数 → アッパースネークケース
関数 → キャメルケース
プロパティや変数についてはどうすべきか
- PSR-1においてプロパティ名は、あえて規則を定義していない。おそらく厳密に定めるとかえって開発効率が落ちるからだと思われる。
- PHPの公式マニュアルを確認したが、スネークケースで書いていることもあれば、キャメルケースで書かれていることもある(参考にしたページ「変数:基本的な事」「プロパティ」)。
- ネットの各記事を見てもこの辺りの運用はまちまちであり、各プロジェクトでどう命名規則を定めるかによる。