luc*_*uca 2 zend-framework namespaces zend-autoloader
Zend框架.我想在bootstrap类中自动加载模型文件夹中的模型类.这些模型实际上并没有使用任何命名空间(因此我有Ex.User.php文件的类名为User等等).
如果我理解正确,我应该使用Zend_Loader_Autoloader_Resource,我试过:
function _initLoaderResource()
{
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH,//points to the "application" path where resides "models" folder
'namespace' =>''
));
$resourceLoader->addResourceType('models', 'models/');
}
Run Code Online (Sandbox Code Playgroud)
我收到以下'Zend_Loader_Exception'消息:
'Initial definition of a resource type must include a namespace'
Run Code Online (Sandbox Code Playgroud)
我的问题是:
实际上你可能不想为此使用资源自动加载器,因为(正如你所发现的那样)它需要一个命名空间.标准自动加载器(从包含路径加载模型)有一个选项setFallbackAutoloader,告诉ZF该自动加载器应该用于任何不匹配另一个名称空间的类.因此,您需要做的就是确保模型目录位于包含路径上,并将此选项设置为true.
您可能已经在使用标准自动加载器来加载Zend类,因此您可能希望修改application.ini文件以将模型目录添加到包含路径,然后在application.ini或in中设置fallback选项.你的Bootstrap类:
protected function _initAutoloader()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
return $autoloader;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3124 次 |
| 最近记录: |