作曲家自动加载器 psr-0 命名空间 [英] composer autoloader psr-0 namespaces

查看:38
本文介绍了作曲家自动加载器 psr-0 命名空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个自定义 Composer 包,但无法为其设置正确的自动加载选项.

I have create a custom composer package but I am having troubles to set the correct autoload options for it.

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

All my classes are under MyNamespace/Common namespace. So for example for including my ArrayHelper class I do use Mynamespace/Common/Helper/ArrayHelper.

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

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

我读过这个:composer.json/autoload

有什么帮助吗?

推荐答案

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

You have to navigate the file location of your namespace.

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

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

For example, this is my directory structure:

composer.json
source
  -Data
    |-Controller
    -Repository

然后,在 composer.json 文件中:

Then, in the composer.json file:

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

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

Then, I can define classes in these namespaces:

/* namespace for classes in controller directory */
namespace MyNameSpaceController;

/* namespace for classes in repository directory */
namespace MyNameSpaceRepository;

这篇关于作曲家自动加载器 psr-0 命名空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆