composer autoloader psr-0名称空间

时间:2013-08-09 11:52:02

标签: php namespaces composer-php autoload psr-0

我已经创建了一个自定义编辑器包,但我遇到了为它设置正确的自动加载选项的麻烦。

我的所有课程都在MyNamespace/Common命名空间下。因此,例如,为了包含我的ArrayHelper课程,我会使用Mynamespace/Common/Helper/ArrayHelper

这是我composer.json的相关部分:

"autoload": {
    "psr-0": { "MyNamespace\\": "" }
} 

我读过这个:composer.json / autoload

任何帮助?

1 个答案:

答案 0 :(得分:15)

您必须浏览命名空间的文件位置。

"autoload": {
    "psr-0": { "MyNameSpace": "./<path to your parent directory>" }
}

例如,这是我的目录结构:

composer.json
source
  \-Data
    |-Controller
    \-Repository

然后,在composer.json文件中:

"autoload": {
    "psr-0": { "MyNameSpace": "source/Data" }
}

然后,我可以通过

从PHP调用命名空间
/* namespace for classes in controller directory */
namespace MyNameSpace\Controller
/* namespace for classes in repository directory */
namespace MyNameSpace\Repository