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

26

我记得听说在IT技术中,应该以一种特殊的方式命名你的控制器、模型和视图。要么是单数形式,要么是复数形式。但我不记得哪些要用什么名称了,也在文档中找不到任何信息。

我猜是这样的:

  • 控制器使用复数形式
  • 视图使用复数形式
  • 模型使用单数形式

我有正确的理解吗?

虽然我知道这只是一个约定,并且你不必遵循它们,但我仍然想知道正确的方式是什么。

4个回答

4
约定如下:
  • 模型类名为单数形式(class Photo extends model)
  • 表名为复数形式(select id from photos
  • 控制器资源名称为单数形式(PhotoController.php)
我在文档中找不到控制器名称的约定,但所有记录的示例都将控制器资源名称放在单数形式中。 从Laravel 5.5文档中可以看到:

按照约定,“蛇形命名法”和复数形式的类名将被用作表名,除非另有明确指定... Eloquent会假设Flight模型将记录存储在flights表中


3
在ASP.NET MVC中,我使用了上面提到的约定,但视图有所不同。如果我有一个显示多个“事物”(比如员工列表)的视图,则是复数形式。如果我有一个只显示一个员工的视图,则是单数形式。

好的。但是控制器怎么办,它们总是复数看起来很奇怪。如果我正在创建一个“管理用户”的控制器,那我应该将其命名为“users”还是“user”?或者甚至是“manage_users”? - qwerty
1
好的观点。通常当我的控制器与实体相关,如员工或人员时,我使用复数。当控制器用于任务或服务,如身份验证或管理时,我将使用单数。 - armen.shimoon

2

实际上,起名字并不重要。只要你保持一致就可以了,这只是个人口味问题。有时候,你甚至没有选择,必须遵循当前项目已确定的代码风格。

一个好的实践方法是,如果可以的话,遵循PHP Framework Interop Group标准。请在他们的页面上阅读更多相关信息。

Laravel 4将遵循所有标准(PSR-0PSR-1PSR-2),但Laravel 3不遵循。例如:它不使用驼峰命名法,而这是PSR-1所“要求”的。


1
这里的答案都相当正确,但如果你在谈论 Laravel,你应该使用单数形式来命名你的 Models 类,因为 Laravel 内置了一些功能,例如 Eloquent 类就足够聪明,它可以检测英语中的复数形式。因此,如果我们的对象是单数形式,它将使用该名称的复数形式来访问该对象的数据库表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接