我开始使用Composer,我对如何指定应该如何自动加载感到困惑。
我最初的假设是,人们会定义如何在此包中自动加载包的类。然而,我得到的印象是应该在使用包的项目中指定它。是这样的吗?
我希望不是!我不希望库的用户知道这个库的自动加载是如何工作的,例如在类所在的目录中。例如,我不希望某个客户端知道“MyLibrary”在名为“includes”的目录中有其类:
"autoload": {
"classmap": [
"vendor/MyLibrary/includes/",
]
}
另一方面,如果我目前的印象是错误的,因此我的初步假设是正确的,那么我的问题是如何实现这一点。我尝试在我的一个库的composer.json文件中使用以下内容,但是在某处安装它时,生成的自动加载类图中不会显示任何条目。
"autoload": {
"classmap": [
"includes/",
]
}
答案 0 :(得分:0)
我最初的假设是正确的。需要在包的composer.json文件中为包定义自动加载。包之外的任何内容都不应该知道自动加载是如何完成的。我不确定为什么我做的事不能奏效。无论如何,我最近没有遇到过这个问题。