我正在开发一个带有一些模块的Zend Framework MVC应用程序,例如Users模块。有一个模型类名称“Users_Model_User”,可以在任何模块/控制器操作中使用。但我需要使用应用程序中的引导类模型的实例,但我得到一个异常:如何在基于Zend Framework的应用程序的应用程序引导程序中使用模块中的模型类?
Fatal error: Class 'Users_Model_User' not found in /my/path/...
我对每个模块的引导类:
class Users_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initAutoloader() {
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Users_',
'basePath' => APPLICATION_PATH . '/modules/users'
));
return $autoloader;
}
}
和我说,模块正常工作(reciving requests,处理和返回响应)。我认为这很好,因为模块引导类,负责加载默认模块资源,如模型类。但主Bootstrap类似乎缺乏对“用户”模块模型类的访问。
我想你的解决方案,并没有奏效: 致命错误:未捕获的异常“Zend_Application_Bootstrap_Exception”有消息“资源匹配的‘自动加载’找不到”在/我的/路径... 另外,我的模型类是不适用于SQL查询。它只保存用户的属性集。 你的建议也不错。我将使用一个插件来设置我所需要的,使用User模型类,即当前应用程序的用户。 – 2012-04-18 15:59:27
尝试改变this-> bootstrap('autoloader')而不是this-> bootstrap('autoload')(因为你的函数名为_initAutoloader而不是_initAutoload) – max4ever 2012-04-18 16:15:48
是的,你是对的。这工作得很好。谢谢。 – 2012-04-18 21:31:16