每个模块的默认控制器操作

时间:2012-08-03 07:04:52

标签: php zend-framework routes

我正在为我的项目使用模块结构。这是我用来指向默认模块/控制器的代码

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.router.routes.home.defaults.module = main 
resources.router.routes.home.defaults.controller = index
resources.router.routes.home.defaults.action = show

到目前为止一切顺利。但是如何为每个模块设置默认控制器操作?

1 个答案:

答案 0 :(得分:1)

resources.router.routes.home.defaults.module = main 
resources.router.routes.home.defaults.controller = index
resources.router.routes.home.defaults.action = show

您放入application.ini的部分内容将路由设置为此模块/控制器/操作,它不会将此设置为默认模块。< / p>

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

此行适用于激活模块,但需要配对:

resources.modules[] =

并确保每个模块在扩展Zend_Application_Module_Bootstrap的模块根目录中都有一个空的Bootstrap.php。这是确保加载和路由正确发生所必需的。

现在设置默认模块,输入如下行:

resources.frontController.defaultmodule = 'default'

进入你的application.ini。

这些行:

resources.frontController.defaultcontrollername = 'index'
resources.frontController.defaultaction = 'index'

设置默认操作和控制器,但是他们为每个模块执行此操作。我不知道为每个控制器指定默认操作的方法或每个模块的默认控制器 我通常让index成为默认控制器和默认操作,如果我想要一些其他操作而不是索引,我只需转发它:

public function indexAction() {
    $this->+_forward('otherAction');
}

祝你好运。