在一些symfony2项目中,我对路由有了下一个定义:
MyBundle_Default:
resource: "routing/default.yml"
prefix: /{slug}-{resource_id}
requirements:
slug: "[a-z\-]+"
resource_id: "\d+"
但是此要求不起作用。例如,如果我在子句中使用“-”(例如“ test-route”),则无法使用/test-route-9
这样的网址。
这是错误吗?
[主要,我认为您的问题来自破折号。让我解释。假设输入的网址是/test-route-9
。根据您的要求,匹配的段符将为test-route-
,因为您的正则表达式声明的是a-z
或可以匹配的破折号-
之间的字符。
这是一个错字,您将要求放在hotel_id上,但在URL resource_id中定义!
尝试使用
看起来确实确实是个错误。至少在Symfony 3.4.36中,所有工作都按预期进行。