Gee*_*eek 24 php zend-route zend-router zend-framework2
我是Zend的初学者.我may_terminate在模块路由配置中看到过.我不明白它的用途.根据ZF2官方文档,
the option “may_terminate” hints to the router that no other
segments will follow it.
Run Code Online (Sandbox Code Playgroud)
我仍然没有得到的含义no other segments will follow it.这是什么it?有人可以用小例解释吗?
Ale*_*exP 47
该may_terminate选项将向路由器指示"此"路由能够仅与其值匹配route; 即使它定义了child_routes.
请考虑以下示例路由配置.
'router' => [
'routes' => [
'home' => [
'type' => 'literal',
'options' => [
'route' => '/home',
],
'may_terminate' => false,
'child_routes' => [
'foo' => [
'type' => 'literal',
'options' => [
'route' => '/foo',
],
],
],
],
],
],
Run Code Online (Sandbox Code Playgroud)
上述配置存在一些歧义,仅在定义子节点的路由中出现.我们是否希望允许我们的用户匹配两条路线或仅一条路线?
我们可以只允许匹配/home部分; 这意味着我们有两条路线
/home,/home/foo或者我们可能只想允许/home/foo.
这may_terminate是使用该选项的地方.如果我们/home在浏览器中浏览,当路由发生时,路由器不能将home路由视为匹配路由may_terminate = false.在ZF2术语中,路由器不能在此路由"终止"并继续搜索匹配child_routes,这将失败并且将引发404错误.
因此,通过修改may_terminate上例中的选项值,我们可以更改可以匹配的路由.
may_terminate = true
may_terminate = false
| 归档时间: |
|
| 查看次数: |
5601 次 |
| 最近记录: |