我正在使用这个自动加载器在我的 zend 应用程序中加载多个外部库。这些类已正确加载并且工作正常。但是我在使用多个此类自动加载器加载类时似乎遇到了问题。问题是,在其中一个自动加载器中找到类后,zend 继续在其他加载器中搜索,因此从自动加载器中生成以下错误消息,但定义它们的除外。
注意:未定义索引:第 21 行 /var/www/myApp/application/loaders/Autoloader/PhpThumb.php 中的 myClassFile
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();
这似乎工作正常,但会引发错误。