2010-11-25 42 views
1

Zend的XML路由我用正常的Zend路由下面的代码,我需要使用XML将其转换到Zend路由:与参数

$route = new Zend_Controller_Router_Route_Regex(
    'test/v([0-9]+)-([0-9A-Za-z-:?&\'() ]+)\.html', 
    array(
     'action' => 'someAction', 
     'controller' => 'someController' 
    ), 
    array(
     1 => video_id 
    ),'test/v%d-%s.html'); 
$router->addRoute('some-Action', $route); 

如何传递的XML参数,什么是基本语法这条路线在XML?

回答

2

这是怎么回事?不过,您可能还想将第二个匹配的部件添加到变量中。

<router> 
    <routes> 
     <some-action> 
      <type>Zend_Controller_Router_Route_Regex</type> 
      <route>test/v([0-9]+)-([0-9A-Za-z-:?&amp;\'() ]+)\.html</route> 
      <defaults> 
       <controller>someController</controller> 
       <action>someAction</action> 
      </defaults> 
      <map> 
       <video_id>1</video_id> 
      </map> 
      <reverse>test/v%d-%s.html</reverse> 
     </some-action> 
    </routes> 
</router> 

要使用它,你可以直接将它添加到你的路由器:

$front = $this->getResource('frontcontroller'); 
$router = $front->getRouter(); 
$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/routes.xml'); 
$router->addConfig($config->routes); 
+0

非常感谢帮助。 – 2010-11-26 11:18:53