【发布时间】:2015-09-03 10:09:41
【问题描述】:
Laravel 5 中的所有控制器仍然以Controller 后缀命名,例如AuthController 和PasswordController。是否有任何理由使用自己的控制器遵循此约定,或者这些后缀只是前命名空间时代的遗留物?
我大部分时间都使用基于操作的 URL 生成,所以我避免像 url('home') 这样的链接,而是更喜欢像 action('HomeController@index) 这样的链接。这样我就可以轻松更改 URL 模式。
但是action('Home@index') 优雅得多。背后有什么陷阱?
【问题讨论】:
-
“这样我就可以轻松更改 URL 模式。”你现在不能不头疼地更改控制器类名称,而且我倾向于重构控制器而不是我的 URL。
-
@MartinBean 我不明白你的意思。我没有重构任何东西,我说的是在开发过程中可以随时更改 URL,所以如果我决定 - 比如说 - 将
/login更改为/sign-in。当我以动作为基础时,这非常容易。命名路由会更加灵活,但我不喜欢命名路由。 -
您的网址不应更改。为什么要破坏缓存、搜索结果和用户书签?不过,您的代码可能会更改,并且有时代码更改包括重命名类。因此,如果您使用基于操作的链接并更改了控制器的名称,您将不得不更新指向该控制器的每个链接。
标签: php laravel model-view-controller laravel-5