php - Composer 自动加载器 psr-0 命名空间

标签 php namespaces composer-php autoload psr-0

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

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

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

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

我读过这个:composer.json / autoload

有什么帮助吗?

最佳答案

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

"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;

关于php - Composer 自动加载器 psr-0 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146057/

相关文章:

php - 如何在 Linux 上安装 Composer 以便能够运行 Laravel New 命令

php - ' fatal error : Call to undefined method' when I run composer update

php - 在 while 循环中调用 mysql PROCEDURE 只在第一次工作

php - 功能测试和与 GitLab 的持续集成

javascript - else 语句逻辑未运行

c++ - 在 C++ 中使用命名空间

Ruby:在某些命名空间的上下文中工作

php - 将表限制为 100 行,然后删除最后一行并在顶部添加新行(MYSQL、PHP)

php - Doctrine2 无法通过关系加载具有命名空间的类

php - Laravel 4.1 供应商目录配置