2010-11-25 30 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