Symfony:路由

时间:2017-12-19 06:38:47

标签: symfony

我的路线如下:

pattern: /{name}-id{id}/
defaults: { _controller: mycontroller:myfunc }
requirements:       
    name: "[a-z0-9-]+"
    id: "[0-9]+"

工作正常。现在我想让路由适用于多个路由,以便每当url以-id {id} /结尾时触发它,如:

/{name}-id{id}/
/level1/{name}-id{id}/
/level1/level2/{name}-id{id}/
/level1/level2/level3/{name}-id{id}/

等等。如何在不重复路线无限次的定义的情况下完成这项工作?

1 个答案:

答案 0 :(得分:2)

As per the docs

  

默认情况下,Symfony Routing组件要求参数与以下正则表达式匹配:[^ /] +。这意味着除了/.

之外,所有字符都是允许的      

您必须通过为i

指定更宽松的正则表达式,明确允许/成为占位符的一部分

您可以将路线调整为

<span class="ng-binding"> Admitted(7)</span>