【发布时间】:2012-11-12 11:06:43
【问题描述】:
我记得听说你应该以特殊的方式命名你的控制器、模型和视图。无论是单数还是复数。我不记得要命名哪些,我在文档中找不到任何关于它的信息。
我猜是这样的:
- 控制器是复数形式
- 视图是复数形式
- 模型是单一的
我走对了吗?
我知道这只是一个约定,您不必遵循它们,但我仍然想知道正确的方法是什么。
【问题讨论】:
标签: views naming-conventions models controllers laravel
我记得听说你应该以特殊的方式命名你的控制器、模型和视图。无论是单数还是复数。我不记得要命名哪些,我在文档中找不到任何关于它的信息。
我猜是这样的:
- 控制器是复数形式
- 视图是复数形式
- 模型是单一的
我走对了吗?
我知道这只是一个约定,您不必遵循它们,但我仍然想知道正确的方法是什么。
【问题讨论】:
标签: views naming-conventions models controllers laravel
在 ASP.NET MVC 中,我使用您上面提到的约定,期望视图,它们是混合的。如果我有一个显示多个“事物”的视图,例如员工列表,则它是复数。如果我有一个显示单个 Employee 的视图,它是单数的。
【讨论】:
约定是:
我找不到文档中定义的控制器名称的约定,但所有记录的示例都将控制器资源名称放在单数中。
From the Laravel 5.5 documentation:
按照约定,“snake case”,将使用类的复数名称 作为表名,除非明确指定另一个名称... Eloquent 将假设 Flight 模型将记录存储在航班中 表
【讨论】:
实际上你给它们起什么名字并不重要。只要您始终如一地这样做,这只是一个品味问题。有时您甚至别无选择,只能遵循当前项目已经确定的代码样式。
如果可以的话,一个好的做法是遵循PHP Framework Interop Group 标准。在他们的页面上阅读更多关于他们的信息以了解更多信息。
Laravel 4 将遵循所有标准(PSR-0、PSR-1 和 PSR-2),但 Laravel 3 不是。例如:对于PSR-1“要求”的方法,它不使用驼峰式大小写。
【讨论】:
这里的答案非常正确,但是如果你在谈论 Laravel,你应该以单数形式命名你的 Models 类,因为 Laravel 内置了功能,例如 Eloquent 类足够聪明,它可以检测英语的复数形式语言。因此,如果我们的对象是单数的,它将使用该名称的复数形式来访问该对象的数据库表。
【讨论】: