代码之家  ›  专栏  ›  技术社区  ›  Morteza Milani

zend框架中的Regex路由器,如何使这些路由器合并?

  •  0
  • Morteza Milani  · 技术社区  · 16 年前

            $route = new Zend_Controller_Router_Route_Regex(
            '([a-z]{2})/(\w+)/(\w+)/(\w+)',
            array('controller'=>'index',
                'action' => 'index',
                'module'=>'default',
                'lang'=>$lang
            ),
            array(
                1=>'lang',
                2=>'module',
                3=>'controller',
                4=>'action'
            )
        );
        $router->addRoute('default_lang_action', $route);
    
        $route = new Zend_Controller_Router_Route_Regex(
            '([a-z]{2})/(\w+)/(\w+)',
            array('controller'=>'index',
                'action' => 'index',
                'module'=>'login',
                'lang'=>$lang
            ),
            array(
                1=>'lang',
                2=>'module',
                3=>'controller'
               )
        );
        $router->addRoute('default_lang_con', $route);
    
        $route = new Zend_Controller_Router_Route_Regex(
            '([a-z]{2})/(\w+)',
            array('controller'=>'index',
                'action' => 'index',
                'module'=>'default',
                'lang'=>$lang
            ),
            array(
                1=>'lang',
                2=>'module'
            )
        );
        $router->addRoute('default_lang_mod', $route);
    
        $route = new Zend_Controller_Router_Route_Regex(
            '([a-z]{2})',
            array('controller'=>'index',
                'action' => 'index',
                'module'=>'default',
                'lang'=>$lang
            ),
            array(
                1=>'lang'
            )
        );
                $router->addRoute('default_lang', $route);
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Alan Moore Chris Ballance    16 年前

    '([a-z]{2})(?:/(\w+)(?:/(\w+)(?:/(\w+))?)?)?'