我正在使用this自动加载器在我的zend应用中加载多个外部库。这些类正确加载并正常工作。但是在使用多个这样的自动加载器加载类时,我似乎遇到了问题。问题是,在其中一个自动加载器中找到类之后,zend继续在其他加载器中搜索,从而从自动加载器产生以下错误消息,除了它们定义的那个。
注意:未定义的索引:myClassFile in /var/www/myApp/application/loaders/Autoloader/PhpThumb.php on 第21行
其中myClassFile在另一个加载器中定义并且加载/工作正常,但它仍然继续在第二个自动加载器中搜索未定义的内容。
知道我错过了什么吗?
更新: 我的引导程序文件:
<?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();
似乎工作正常,但会引发错误。
答案 0 :(得分:-2)
我可能无法正确理解您的问题。但是如果你想尝试自动加载像PhpThumb这样的外部库,那么你做错了。由于大量自动加载会使应用程序变慢。在像PhpThumb这样的库中,几乎没有一个php文件只使用require_once。并将此路径APPLICATION_PATH/library/PhpThumb.php