我希望这些网址都匹配相同的控制器:
/
/7
/articles
/articles/
/articles/7
是否可以在symfony的路由中添加可选prefix
,以便article
前缀可选?
怎么样?
答案 0 :(得分:5)
您可以创建指向同一控制器的2个路由:
acme_article_prefix:
path: /articles/{id}
requirements:
id: \d+
defaults: { id: 5 }
acme_article:
path: /{id}
requirements:
id: \d+
defaults: { id: 5 }
另一种选择是使前缀也成为占位符:
acme_article:
path: /{_prefix}/{id}
defaults: { _prefix: articles, id: 5 }
requirements:
id: \d+
_prefix: articles
对于框架,有一个补丁很长时间来实现像
/(articles/){id}
这样的路由,它将匹配你在上面设置的urk。