【发布时间】:2016-07-29 08:53:08
【问题描述】:
我似乎遇到了几种 laravel 命名空间定义(在类中),我想知道是否有些比其他更好,或者甚至是完全错误的。
namespace mydomain\app\controllersnamespace dev.mydomain.com\app\controllersnamespace app\controllersnamespace \app\controllers
几个问题:
- 我知道最初的
\是可选的,但是mydomain 前缀是什么?它是必需的,还是可选的? - 使用
dev.mydomain.comis 或仅使用mydomain有区别吗? - 仅仅是与文件夹名称相同的问题吗?
【问题讨论】:
-
初始斜线指的是global namespace。在命名空间之前是否使用
dev都没有关系。它只是一个命名空间。文件夹名称与命名空间本身无关,但一些加载程序确实使用命名空间作为文件夹的映射。查看here 以获得更全面的解释。 -
myproject\app\controllers和\app\controllers和app\controllers有区别吗? -
是的。有。根据 laravel 使用的psr-4 加载标准,命名空间必须为
\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>,其中SubNamespaceNames可以任意多个。
标签: php namespaces laravel-5.2