我在zend应用程序中使用this自动加载程序加载多个外部库。这些类被正确加载并且工作正常。但是,在使用多个自动加载程序加载类时,我似乎遇到了问题。问题是,在其中一个自动加载程序中找到类之后,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();它看起来很好但却会抛出错误。
发布于 2011-09-26 17:59:18
我可能不能正确理解你的问题。但是,如果您试图自动加载外部库(如PhpThumb ),那么您就错了。因为在很多情况下,自动加载会使应用程序变慢。在库(如PhpThumb )中,几乎没有一个php文件只是使用require_once。并将这条路径APPLICATION_PATH/library/PhpThumb.php
https://stackoverflow.com/questions/7558817
复制相似问题