【问题标题】:What are the Laravel naming conventions for controllers/models/views?控制器/模型/视图的 Laravel 命名约定是什么?
【发布时间】:2012-11-12 11:06:43
【问题描述】:

我记得听说你应该以特殊的方式命名你的控制器、模型和视图。无论是单数还是复数。我不记得要命名哪些,我在文档中找不到任何关于它的信息。

我猜是这样的:

  • 控制器是复数形式
  • 视图是复数形式
  • 模型是单一的

我走对了吗?

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

【问题讨论】:

    标签: views naming-conventions models controllers laravel


    【解决方案1】:

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

    【讨论】:

    • 好的。但是,控制器呢,总是让它们复数似乎很奇怪。如果我正在创建一个“管理用户”控制器,我应该将其命名为“用户”还是“用户”?或者甚至是“manage_users”?
    • 好点。通常,当我的控制器与实体相关时,例如 Employee 或 Person,我使用复数形式。当控制器用于任务或服务时,例如身份验证或管理,我会使用单数。
    【解决方案2】:

    约定是:

    • 模型类名称是单数(Photo 类扩展模型)
    • 表名是复数(从photos中选择id)
    • 控制器资源名称是单数(PhotoController.php)

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

    From the Laravel 5.5 documentation

    按照约定,“snake case”,将使用类的复数名称 作为表名,除非明确指定另一个名称... Eloquent 将假设 Flight 模型将记录存储在航班中 表

    【讨论】:

      【解决方案3】:

      实际上你给它们起什么名字并不重要。只要您始终如一地这样做,这只是一个品味问题。有时您甚至别无选择,只能遵循当前项目已经确定的代码样式。

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-03
          • 1970-01-01
          • 2013-09-24
          相关资源
          最近更新 更多