如何允许“/”字符出现在路由参数中
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.1,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何允许“/”字符出现在路由参数中
有时,您需要使用包含斜杠的参数组合url/
.以经典为例/ hello / {username}
路线。默认情况下,/ hello /法比安
将匹配这条路线,但不是/ hello /法/克丽丝
.这是因为Symfony使用该字符欧宝娱乐app下载地址作为路由部分之间的分隔符。
本指南将介绍如何修改路由,以便/ hello /法/克丽丝
匹配/ hello / {username}
路线,{username}
=法比安/克里斯
.
配置路由
默认情况下,Symfony Ro欧宝娱乐app下载地址uting组件要求参数匹配以下正则表达式路径:[^ /] +
.这意味着除了/
.
你必须明确地允许/
通过指定更允许的正则表达式路径来成为参数的一部分。
- 注释
- YAML
- XML
- PHP
12 3 4 5 6 7 8 9 10 11 12
使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;类DemoController{/ * * *@Route(“/ hello / {username}”,name = " _hello "需求={"用户名 "=".+"}) */公共函数helloAction($用户名){/ /……}}
就是这样!现在,{username}
参数可以包含/
的性格。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。