web-dev-qa-db-ja.com

Laravelコントローラ/モデル/ビューの命名規則とは何ですか?

コントローラ、モデル、ビューに特別な名前を付ける必要があると聞いたのを覚えています。単数または複数。どれに名前を付ければいいのか覚えていませんし、ドキュメントに何も記載されていません。

それは次のようだと思います:

  • コントローラーは複数
  • ビューは複数です
  • モデルは特異です

私は正しい軌道に乗っていますか?

私はそれが単なる慣習であることを理解し、あなたはそれらをフォローするhaveをしませんが、私はまだ正しい方法が何であるかを知りたいです。

26
qwerty

ASP.NET MVCでは、上で述べた規則を使用しますが、混在するビューを想定しています。従業員のリストなど、複数の「もの」を表示するビューがある場合、それは複数です。単一の従業員を表示するビューがある場合、それは単数形です。

3
armen.shimoon

実際の名前には関係ありません。一貫してそれを行う限り、それは好みの問題です。場合によっては、現在のプロジェクトで既に決定されているコードスタイルに従うという選択肢さえないこともあります。

可能であれば、 PHP Framework Interop Group 標準に従うことをお勧めします。詳細については、ページで詳細をご覧ください。

Laravel 4はすべての標準( PSR-PSR-1 および PSR-2 )に従いますが、Laravel 3はそうではありません。例: PSR-1 によって「必須」であるメソッドにキャメルケースを使用しません。

2
Niklas Modess

規約は次のとおりです。

  • モデルのクラス名は単数です(クラス写真拡張モデル)
  • テーブル名は複数です(写真から写真を選択してください
  • コントローラのリソース名は単数です(PhotoController.php)

ドキュメントで定義されているコントローラ名の規則を見つけることができませんでしたが、ドキュメント化されたすべての例では、コントローラリソース名を単数形にしています。

Laravel 5.5のドキュメントから

慣例により、「ヘビの場合」、クラスの複数名は、別の名前が明示的に指定されていない限り、テーブル名として使用されます... Eloquentは、フライトモデルがフライトテーブルにレコードを格納すると想定します

2
JohanTux

ここでの答えはかなり正しいですが、Laravelについて話している場合は、Laravel組み込みの機能のために、Modelsクラスに単数形で名前を付ける必要があります。英語の複数形を検出するので、オブジェクトが単数形の場合、その名前の複数形を使用して、そのオブジェクトのデータベーステーブルにアクセスします。

1
Neo