Zend Framework:使用没有前缀的默认模块模型

时间:2010-11-03 10:35:03

标签: php zend-framework configuration model

嘿伙计们,我正在开发一个基于模块的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 _ *()”......

提前致谢!!!

1 个答案:

答案 0 :(得分:0)

我设法让这件事发挥作用。为了在上面提到的情况下使用自动加载,我必须在我的前端bootstrap文件中执行以下操作:

protected function _initAutoload()
{
    $autoloader = new Zend_Application_Module_Autoloader(array(
        'namespace' => '',
        'basePath'  => dirname(__FILE__),
    ));
}

这会将自动加载前缀设置为空,因此可以通过“new Model _ *()”启动前端模型。后端模型仍然可以通过“new Backend_Model _ *()”

启动

注意:前端引导程序文件是唯一一个,为了让这个东西运行应该触摸它!

希望能帮助别人!