如何访问zend模块中的控制器

时间:2012-05-07 17:21:07

标签: zend-framework module routing

我的zend应用程序最初设置如下:

应用    - 控制器    - 模特    - 查看

现在我想将它设置为使用模块结构,所以我改变了它: 应用    - 模块        - 默认            - 控制器            - 模特            - 查看        - 测试            - 控制器            - 模特            - 查看 除了将所有文件移动到正确的结构之外,我只需将以下行添加到配置文件中: resources.frontController.moduleDirectory = APPLICATION_PATH“/ modules” resources.modules [] =“” 并为每个模块添加Bootstrap文件。

由于我将所有当前控制器移动到默认模块,因此我可以正常运行应用程序。但是,我无法访问新测试模块中的任何新控制器。我错过了什么吗?我是否必须更改配置或引导程序中的任何内容?

例如,我在测试模块中创建了一个名为TestController的新控制器,当我进入localhost / test / test时,我收到错误:“EXCEPTION_NO_CONTROLLER”。

1 个答案:

答案 0 :(得分:0)

也许检查你的模块引导路线

    class Transfer_Bootstrap extends Zend_Application_Module_Bootstrap
    {

    public function _initModuleRoutes()
    {
        $this->bootstrap('FrontController');
        $frontController = $this->getResource('FrontController');
        $router = $frontController->getRouter();

        $route = new Zend_Controller_Router_Route(
            'modulename/:action/*',
            array(
                    'module' => 'modulename',
                    'controller' => 'modulecontroller',
                    'action' => 'index'
            )
        );
        $router->addRoute('routename', $route);

        return $router;
    }