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