Php Zend Framework:使用不带前缀的默认模块模型

Php Zend Framework:使用不带前缀的默认模块模型,php,zend-framework,configuration,model,Php,Zend Framework,Configuration,Model,大家好,我正在开发一个基于模块的zend framework应用程序,它使用以下结构: application modules backend controllers, models etc... frontend controllers, models etc. 因此,所有前端模型都将被称为“新前端_模型_*()”。。。 但我不喜欢这个解决方案,因为我希望在后端的模型,太 对于控制器端,我在applica

大家好,我正在开发一个基于模块的zend framework应用程序,它使用以下结构:

application
    modules
        backend
            controllers, models etc...
        frontend
            controllers, models etc.
因此,所有前端模型都将被称为“新前端_模型_*()”。。。 但我不喜欢这个解决方案,因为我希望在后端的模型,太

对于控制器端,我在application.ini中使用了以下选项:

resources.frontController.params.prefixDefaultModule = false
现在,我的前端索引控制器简称为索引控制器。 是否有一种简单的方法可以对模型、表单等执行相同的操作

这意味着像“new Model_*()”这样的调用应该直接指向前端模块,这是默认模块。要调用后端模型,我必须使用“new backend_model_*()”


提前感谢

我设法让这东西工作起来了。为了在上述情况下使用自动加载,我必须在前端引导文件中执行以下操作:

protected function _initAutoload()
{
    $autoloader = new Zend_Application_Module_Autoloader(array(
        'namespace' => '',
        'basePath'  => dirname(__FILE__),
    ));
}
这将自动加载前缀设置为nothing,因此可以通过“new model_*()”启动前端模型。后端模型仍然可以通过“新建后端模型”启动

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


希望这能帮助别人

我设法让这东西工作起来了。为了在上述情况下使用自动加载,我必须在前端引导文件中执行以下操作:

protected function _initAutoload()
{
    $autoloader = new Zend_Application_Module_Autoloader(array(
        'namespace' => '',
        'basePath'  => dirname(__FILE__),
    ));
}
这将自动加载前缀设置为nothing,因此可以通过“new model_*()”启动前端模型。后端模型仍然可以通过“新建后端模型”启动

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


希望这能帮助别人

我建议使用模块化目录结构(所有模块都有前缀)。我建议使用模块化目录结构(所有模块都有前缀)。不相关,但如果使用PHP5.3,可以使用uuuuu DIR_uuu而不是dirname(uuu FILE_uu)不相关,但如果使用PHP5.3,可以使用uuuu DIR_u而不是dirname(uuu FILE_u)