Php Zend Framework 2零件路径装配

Php Zend Framework 2零件路径装配,php,zend-framework2,Php,Zend Framework2,我的Zend Framework 2应用程序有一个路由定义,它试图模仿默认的Zend Framework 1路由。它看起来像: 'router' => array( 'routes' => array( 'default' => array( 'type' => 'segment', 'options' =>

我的Zend Framework 2应用程序有一个路由定义,它试图模仿默认的Zend Framework 1路由。它看起来像:

        'router' => array(
            'routes' => array(
                'default' => array(
                    'type'    => 'segment',
                    'options' => array(
                        'route'    => '/[:controller[/:action]]',
                        'defaults' => array(
                            '__NAMESPACE__' => 'Application\Controller',
                            'controller'    => 'Index',
                            'action'        => 'index',
                        ),
                    ),
                    'may_terminate' => true,
                    'child_routes'  => array(
                        'wildcard' => array(
                            'type' => 'wildcard',
                        ),
                    ),
                ),
            ),
        ),
它很好地匹配了路由,但是我不能使用
Url
view助手使用任意参数组合路由

比如说,

$this->url('default', array('controller' => 'test', 'action' => 'test', 'id' => 5));
结果显示为
/test/test
,而不是
/test/test/id/5


有人知道如何装配这样的部分路线吗?还是有更好的方法获取ZF1样式的路由?

结果是,您需要在
Url
视图帮助器中指定整个路由名称(包括子路由)

使用问题中定义的路由器,正确的视图帮助器调用如下所示:

$this->url('default/wildcard', array('controller' => 'test', 'action' => 'test', 'id' => 5));
这将导致url为
/test/test/id/5