Php composer自动加载程序psr-0命名空间

Php composer自动加载程序psr-0命名空间,php,namespaces,composer-php,autoload,psr-0,Php,Namespaces,Composer Php,Autoload,Psr 0,我已经创建了一个自定义的composer软件包,但是我在为它设置正确的自动加载选项时遇到了麻烦 我的所有类都在MyNamespace/Common名称空间下。例如,对于包含我的ArrayHelper类,我确实使用Mynamespace/Common/Helper/ArrayHelper 这是我的composer.json的相关部分: “自动加载”:{ “psr-0”:{“MyNamespace\\”:“” } 我读过: 有什么帮助吗?您必须导航名称空间的文件位置 "autoload

我已经创建了一个自定义的composer软件包,但是我在为它设置正确的自动加载选项时遇到了麻烦

我的所有类都在
MyNamespace/Common
名称空间下。例如,对于包含我的
ArrayHelper
类,我确实使用
Mynamespace/Common/Helper/ArrayHelper

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

“自动加载”:{
“psr-0”:{“MyNamespace\\”:“”
} 
我读过:


有什么帮助吗?

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

"autoload": {
    "psr-0": { "MyNameSpace": "./<path to your parent directory>" }
}
然后,在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;

我的包结构类似于symfony2组件,因此我必须像这样配置目标目录:命名空间定义分隔符应该使用“\”而不是“/”
/* namespace for classes in controller directory */
namespace MyNameSpace\Controller;

/* namespace for classes in repository directory */
namespace MyNameSpace\Repository;