RYN*_*RYN 1 php routing url-routing symfony
我希望这些URL都匹配相同的控制器:
/
/7
/articles
/articles/
/articles/7
Run Code Online (Sandbox Code Playgroud)
是否可以在prefixsymfony的路由中添加可选项,以便article前缀是可选的?
怎么样?
您可以创建指向同一控制器的2个路由:
acme_article_prefix:
path: /articles/{id}
requirements:
id: \d+
defaults: { id: 5 }
acme_article:
path: /{id}
requirements:
id: \d+
defaults: { id: 5 }
Run Code Online (Sandbox Code Playgroud)
另一种选择是使前缀也成为占位符:
acme_article:
path: /{_prefix}/{id}
defaults: { _prefix: articles, id: 5 }
requirements:
id: \d+
_prefix: articles
Run Code Online (Sandbox Code Playgroud)
对于框架,有一个补丁很长时间来实现类似的路由
/(articles/){id},它将匹配您在上面设置的urk.