我一直在用composer设置CodeIgniter项目。我想在php
文件夹中包含存储在vendor
文件夹之外的文件中的shared
个类。
我的目录结构:
/
--application/
--shared/
-application/
-class1.php
-class2.php
-class3.php
-base/
-classb1.php
--vendor/
--composer.json
--composer.lock
查看作曲家documentation,我看到根包中有一个autoload
属性,我试图用它来加载shared
目录中的类。这些类不是命名空间。
我的composer.json
文件如下:
{
"description" : "The CodeIgniter Application with Composer",
"require": {
"php": ">=5.3.2",
"codeigniter/framework": "3.1.*"
},
"require-dev": {
"mikey179/vfsStream": "1.1.*"
},
"autoload":{
"psr-0":{
"":"shared/application/",
"":"shared/base/",
"":"shared/data/"
}
}
}
我的搜索引导我this question,但是这些类仍未加载。我在终端上运行了composer update
。
答案 0 :(得分:0)
在进一步观察之后,根软件包中有一个名为classmap
(documentation)的属性。
"autoload":{
"classmap":["shared/application/","shared/base/", "shared/data/"]
}
这会加载文件夹中的所有必需文件。