ZF2正则表达式路由器参数映射

时间:2014-04-28 21:57:34

标签: regex zend-framework2 router

我有以下路线定义

'kategoria' => array( 
                'type' => 'Zend\Mvc\Router\Http\Regex',
                'options' => array(
                    'regex'    => '(.*)/([0-9]+).htm',
                    'defaults' => array(
                        'controller' => 'Core\Controller\Index',
                        'action'     => 'index'
                    ),
                 'spec' => '%full_path%/%nodeID%.htm',    
                ),
            ),

我正试图让两个参数都行动起来,但没有成功

$nodeID = $this->params()->fromRoute('nodeID');
$full_path = $this->params('full_path','');

如何从ZF2中的Regex路由器获得匹配的参数?我在ZF1中使用这个路由器。

1 个答案:

答案 0 :(得分:0)

在ZF2中,您在模式匹配中包含变量名称,因此您需要以下内容:

'regex' => '(?<full_path>.*)/(?<nodeID>[0-9]+).htm',

然后你的代码应该可以工作。