控制器/模型/视图的Laravel命名约定是什么?

时间:2012-11-24 09:34:49

标签: views naming-conventions models controllers laravel

我记得你应该以特殊的方式命名你的控制器,模型和视图。无论是单数还是复数。我不记得哪些名称,但我在文档中找不到任何相关内容。

我猜是这样的:

  
      
  • 控制器是复数
  •   
  • 视图为复数
  •   
  • 模型是单数
  •   

我是在正确的轨道上吗?

我理解这只是一个惯例而你 没有跟随它们,但我仍然想知道正确的方法。

4 个答案:

答案 0 :(得分:3)

在ASP.NET MVC中,我使用上面提到的约定,期望混合使用的视图。如果我有一个显示多个“事物”的视图,例如Employees列表,则它是复数。如果我有一个显示单个Employee的视图,则它是单数。

答案 1 :(得分:2)

实际上你的名字并不重要。只要你一直这样做,这只是一个品味问题。有时你甚至没有选择,只能遵循当前项目已经确定的代码风格。

一个好的做法是,如果可以的话,是遵循PHP Framework Interop Group标准。在他们的页面上阅读更多内容以了解更多信息。

Laravel 4将遵循所有标准(PSR-0PSR-1PSR-2),但Laravel 3不是。例如:对于PSR-1“必需”的方法,它不使用驼峰大小写。

答案 2 :(得分:2)

惯例是:

  • 模型类名称是单数的(类 Photo 扩展模型)
  • 表格名称为复数(从照片中选择ID
  • 控制器资源名称是单数( Photo Controller.php)

我找不到文档中定义的控制器名称的约定,但是所有记录的示例都将控制器资源名称放在单数中。

From the Laravel 5.5 documentation

  

按照惯例,将使用“蛇案”,该类的复数名称   作为表名,除非明确指定其他名称...   Eloquent将假设Flight模型存储航班中的记录   表

答案 3 :(得分:1)

这里的答案非常正确但是如果你在谈论Laravel,你应该以单数形式命名你的Models类,因为Laravel内置的功能,例如Eloquent类很聪明,它可以检测到英语的复数形式语言。因此,如果我们的对象是单数,它将使用该名称的复数形式来访问该对象的数据库表。