嘿伙计们,我正在开发一个基于模块的zend框架应用程序,它使用以下结构:
application
modules
backend
controllers, models etc...
frontend
controllers, models etc.
因此,所有前端模型都将通过调用new Frontend_Model _ *()来启动... 但我不喜欢这个解决方案,因为我也想在后端使用模型。
对于控制器端,我在application.ini中使用了以下选项:
resources.frontController.params.prefixDefaultModule = false
现在我的Frontend_IndexController简称为Index_Controller。 是否有一种简单的方法可以对模型,表格等进行相同的操作?
这意味着像“new Model _ *()”之类的调用应该直接导向前端模块,这是默认模块。要调用后端模型,我必须使用“new Backend_Model _ *()”......
提前致谢!!!
答案 0 :(得分:0)
我设法让这件事发挥作用。为了在上面提到的情况下使用自动加载,我必须在我的前端bootstrap文件中执行以下操作:
protected function _initAutoload()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => dirname(__FILE__),
));
}
这会将自动加载前缀设置为空,因此可以通过“new Model _ *()”启动前端模型。后端模型仍然可以通过“new Backend_Model _ *()”
启动注意:前端引导程序文件是唯一一个,为了让这个东西运行应该触摸它!
希望能帮助别人!