在我的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%',
],
],