1

我开始使用 Composer 并且对如何指定应该如何自动加载东西有点困惑。

我最初的假设是定义如何在这个包中自动加载一个包的类。然而,我的印象是应该在使用包的项目中指定这一点。是这样吗?

我希望不是!我不希望库的用户知道这个库的自动加载是如何工作的,例如类位于哪个目录中。例如,我不希望某些客户知道“MyLibrary”的类位于名为“includes”的目录中:

"autoload": {
    "classmap": [
        "vendor/MyLibrary/includes/",
    ]
}

另一方面,如果我目前的印象是错误的,因此我最初的假设是正确的,那么我的问题是如何实现这一点。我尝试在我的一个库的 composer.json 文件中使用以下内容,但是在将其安装在某处后,生成的自动加载类映射中不会显示任何条目。

"autoload": {
    "classmap": [
        "includes/",
    ]
}
4

1 回答 1

0

我最初的假设是正确的。需要在包的 composer.json 文件中定义包的自动加载。包之外的任何东西都不应该知道它的自动加载是如何完成的。我不确定为什么我正在做的事情没有奏效。无论如何,我最近没有遇到过这个。

于 2014-01-06T05:59:02.567 回答