14

我已经创建了一个自定义作曲家包,但我无法为其设置正确的自动加载选项。

我所有的课程都在MyNamespace/Common命名空间下。例如,为了包括我的ArrayHelper课程,我确实使用Mynamespace/Common/Helper/ArrayHelper.

这是我的相关部分composer.json

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

我读过这个:composer.json / autoload

有什么帮助吗?

4

1 回答 1

20

您必须导航命名空间的文件位置。

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

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

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

然后,在 composer.json 文件中:

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

然后,我可以在这些命名空间中定义类:

/* namespace for classes in controller directory */
namespace MyNameSpace\Controller;

/* namespace for classes in repository directory */
namespace MyNameSpace\Repository;
于 2013-08-09T12:06:33.410 回答