我一直在与composer一起建立一个CodeIgniter项目。我想包括php
类存储在vendor
文件夹外的文件中-在shared
文件夹中。
我的目录结构:
/
--application/
--shared/
-application/
-class1.php
-class2.php
-class3.php
-base/
-classb1.php
--vendor/
--composer.json
--composer.lock
查看编写器文档,我看到根包中有一个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/"
}
}
}
我的搜索让我找到了这个问题,但是类仍然没有被加载。我已经在终端上运行了composer update
仔细观察后,在根包中有一个名为classmap
(documentation)的属性。
"autoload":{
"classmap":["shared/application/","shared/base/", "shared/data/"]
}
这将加载文件夹中所有需要的文件。