Zend framework Zend framework管理模块和其他模块

Zend framework Zend framework管理模块和其他模块,zend-framework,module,reusability,Zend Framework,Module,Reusability,我想建立一个基于Zend框架的CMS,以满足我的需求,该框架包含带有身份验证的管理模块和其他模块页面、用户、新闻,这些模块可以根据应用需求用作插件模块 我希望每个模块都有特定的前端和后端代码,这样就可以访问它,例如,通过调用pages controller、view action从pages模块查看某个页面。每个插件的后端都需要绑定到管理员并需要身份验证,可以像这样访问 问题是,我找到的解决方案涉及删除默认路由,并为插件模块内的每个控制器操作编写自定义路由,如: $router->re

我想建立一个基于Zend框架的CMS,以满足我的需求,该框架包含带有身份验证的管理模块和其他模块页面、用户、新闻,这些模块可以根据应用需求用作插件模块

我希望每个模块都有特定的前端和后端代码,这样就可以访问它,例如,通过调用pages controller、view action从pages模块查看某个页面。每个插件的后端都需要绑定到管理员并需要身份验证,可以像这样访问

问题是,我找到的解决方案涉及删除默认路由,并为插件模块内的每个控制器操作编写自定义路由,如:

  $router->removeDefaultRoutes();

  $route = new Zend_Controller_Router_Route_Static(
      'admin/pages/add',
      array(
       'module' => 'pages', 
       'controller' => 'Pages',          
       'action' => 'add'
      )
  );

  $router->addRoute('pages_pages_add', $route);

  $route = new Zend_Controller_Router_Route_Regex(
      'pages/view/(\d+)',
      array(
       'module' => 'pages', 
       'controller' => 'Pages',          
       'action' => 'view'
      ),
      array(
       '1' => 'page_id'
      )
  ); 

  $router->addRoute('pages_pages_view', $route);  

你有什么办法可以避免这种自定义路由吗?

看看前端控制器插件,它们可能会给你更多的灵活性

class Controller_Plugin_Foo extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch( Zend_Controller_Request_Abstract $request )
    {
        $frontController = Zend_Controller_Front::getInstance();
        ...
    }
}