Zend Framework 2匹配以给定分段开始的任何路由


Zend Framework 2 match any route starting with given segment

在我的Zend Framework 2应用程序中,我需要构建一个与从给定分段开始的任何内容相匹配的路由。

为了清楚起见,考虑我想匹配以/foo开始的任何内容,因此/foo/foo/bar/foo/baz/foo/bar/baz。。。

我可以使用Wildcard路由器

'type' => 'Zend'Mvc'Router'Http'Segment',
'options' => [
    'route'    => '/foo',
    'defaults' => [
        'controller' => 'Application'Controller'Index',
        'action'     => 'index',
    ],
],
'may_terminate' => true,
'child_routes' => [
    'anything' => [
        'type' => 'Wildcard'
    ]
]

但是Wildcard已经被弃用了,所以我想避免使用它。有没有办法用另一种方式获得我想要的东西?

'foo' => [
  'type' => 'Regex',
  'options' => [
        'regex' => '/foo(/(?<action>[a-zA-Z0-9_-]+))?',
        'defaults' => [
            '__NAMESPACE__' => 'Application'Controller',
            'module' => 'Application',
            'controller' => 'Foo',
            'action' => 'index',
        ],
        'spec' => '/foo/%action%',
    ],
],