初始化Composer自动加载器后,我想检查是否存在类:
require_once('vendor/autoload.php');
var_dump(class_exists('PagesController'));
这给了我boolean false
,就好像我的班级不存在一样。但是,确实如此,并在类图自动加载中提到。
当我在vendor/autoload.php
中添加一个简单的更改时,就像添加var_dump("ballon")
一样,PagesController的原始检查更改为boolean true
。
我的composer.json文件如下所示:
{
"require": {
"propel/propel": "~2.0@dev"
},
"autoload": {
"classmap": ["controllers/", "views/", "views/helpers/", "controllers/components/", "models/", "generated-reversed-database/generated-classes/"]
}
}
我已经php composer.phar install
运行了自动加载器。
require_once('vendor/autoload.php')
包含作曲家生成的文件,是要执行的第一行代码(它在我的index.php
中)。 PagesController
课程位于controllers/
。
我在Ubuntu服务器上使用Apache2运行php 5.5.9。
我在var_dump
中添加//
,评论()或仅仅是空格(
vendor/autoload.php
)并不重要,只要我添加一些东西。
我的autoload_classmap.php
文件:
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
(...lots of classes...),
'PagesController' => $baseDir . '/controllers/PagesController.php'
);
因此找到并列出了该课程。