Laravel の命名規則

メモ:

Laravel は、 PSR-2 コーディング規約と PSR-4 オートローディング規約に準拠しています。

フレームワークを使う場合、ある程度の決まりがあります。フレームワークの種類により縛りがきつかったり緩かったりするのですが、Laravel の場合緩めの設定のようです。

PSR とは

Laravel のドキュメントにある「Laravel 5.7 貢献ガイド - コーディングスタイル」には、「LaravelはPSR-2コーディング規約とPSR-4オートローディング規約に準拠しています。」と記載されています。PSR とは、何でしょうか?

PSR (PHP Standards Recommendations) とは、PHP-FIG (PHP Framework Interop Group) が策定している PHP コーディング規約です。

PHP-FIG は、 Symfony , ReactPHP , CakePHP , Composer , Drupal , PEAR , Phalcon , Slim , Zend Framework など、多くのフレームワーク開発者やCMS開発者などによって組織されています。

PSR 一覧

容認済みの PSR(2018年11月時点)

番号 タイトル
PSR-1 Basic Coding Standard(基本的なコーディング標準)
PSR-2 Coding Style Guide(コーディング規約)
PSR-3 Logger Interface(ロギング処理の標準化)
PSR-4 Autoloading Standard(オートローディングの仕様)
PSR-6 Caching Interface(キャッシュ処理の標準化)
PSR-7 HTTP Message Interface(HTTPリクエストとリスポンスの標準仕様)
PSR-11 Container Interface(DIコンテナの標準化)
PSR-13 Hypermedia Links
PSR-15 HTTP Handlers(HTTPサーバーリクエストハンドラとHTTPサーバーミドルウェアコンポーネント)
PSR-16 Simple Cache(キャッシュ処理の標準化)
PSR-17 HTTP Factories(PSR-7準拠のHTTPオブジェクトの作成標準)
PSR-18 HTTP Client(PSR-7準拠のHTTPリクエスト、レスポンスの作成標準)

Laravel の命名規則

Laravel は、 「PSR-2 コーディング規約に準拠する」とドキュメントに記載されていることから、ざっくり次の規則に従うことになります。

クラス名(モデルの名前,コントローラの名前)

スタッドリーキャプス(StudlyCaps)で書く。

各単語の先頭文字を大文字とする記法で、アッパーキャメルケース(UpperCamelCase)と同じ。

メソッド名

キャメルケース(camelCase)で書く。

マイグレーションファイルのファイル名

明確な規約が見つけられませんでしたが、スネークケース (snake case)で書くっぽい。

ファイル名にテーブル名を入れるとファイル名からテーブル名を読み取ってくれる。

例:create_[テーブル名]_table

テーブルの名前

テーブル名は、複数形にしておくと単数形のモデル名からテーブル名を読んでくれます。 (複数形でなくても問題はありません。)