我正在使用this autoloader在我的zend应用程序中加载多个外部库 . 这些类正确加载并正常工作 . 但是在使用多个这样的自动加载器加载类时,我似乎遇到了问题 . 问题是,在其中一个自动加载器中找到类之后,zend继续在其他加载器中搜索,因此从自动加载器产生以下错误消息,除了它们定义的那个 .
注意:第21行的/var/www/myApp/application/loaders/Autoloader/PhpThumb.php中的未定义索引:myClassFile
其中myClassFile在另一个加载器中定义并且加载/工作正常,但它仍然继续在第二个自动加载器中搜索,其中未定义 .
知道我错过了什么吗?
Update :我的引导程序文件:
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload()
{
$autoLoader=Zend_Loader_Autoloader::getInstance();
$resourceLoader=new Zend_Loader_Autoloader_Resource(array(
'basePath'=>APPLICATION_PATH,
'namespace'=>'',
'resourceTypes'=>array(
'form'=>array(
'path'=>'forms/',
'namespace'=>'Form_'
),
'models'=>array(
'path'=>'models/',
'namespace'=>'Model_'
),
)
));
//return $autoLoader;
$resourceLoader->addResourceType('loader', 'loaders/', 'My_Loader_');
$autoLoader->pushAutoloader($resourceLoader);
//load PhpThumb class
$autoLoader->pushAutoloader(new My_Loader_Autoloader_PhpThumb());
//load Factory Class
$autoLoader->pushAutoloader(new My_Loader_Autoloader_Factory());
}
}
?>
然后使用它:
$factory=new Factory();
这似乎工作正常,但抛出错误 .
1 回答
我可能无法正确理解您的问题 . 但是如果你想尝试自动加载像PhpThumb这样的外部库,那么你做错了 . 由于大量自动加载会使应用程序变慢 . 在像PhpThumb这样的库中,几乎没有一个php文件只使用require_once . 并把这条路径
APPLICATION_PATH/library/PhpThumb.php