一个Laravel5文件名、类名命名的疑惑

最近正在学Laravel5,也在参考其他项目学习,然后发现这个问题

比如App\Http\Controllers目录下所有文件都是Controller啊,为什么我看几乎所有项目都是xxxController这样来命名的下面的Controller
再有App\Providers这个目录也是这样,整个目录都是Provider,为何都命名成xxxProvider

Controllers目录下就应该只放Controller,所以文件名、类名命名为何还要在xxxController重复这个Controller,有必要吗,这样命名除了让名称变长,有什么好处

阅读 3.1k
4 个回答

如果你用IDE打开一个项目,你不用 controller 之类后缀的话。
假如有一个 Article.php ,这时候你得花时间看一下,最上面的目录,他是在model,还是 controller,还是 server,
这时候优势就出来了。

命名长点比较好区分这部分代码是干嘛?之后接手的人也会容易一些。

AppHttpControllers目录下所有文件都是Controller,
比如有一个AddressController 命名成 Address 控制器 而在Model中 有一个 Address.php的Model 如果你在Address控制器中使用Address这个Model 你就会分不清楚 那个是那个

这只是命名规范, 不强制要求.

你可以选择不接受这种规范, 把后缀去掉, 试试感觉.

我估计多半你还会回到规范上.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进