Php 路线必须匹配Symfony2
我对正则表达式非常不熟悉,我的Symfony2路由有问题 这是我的yml路线Php 路线必须匹配Symfony2,php,regex,symfony,Php,Regex,Symfony,我对正则表达式非常不熟悉,我的Symfony2路由有问题 这是我的yml路线 ilppa_adverse_view: path: /{adverseReference}/{adverseName} defaults: _controller: IlppaAdverseBundle:Adverse:view requirements: adverseReference: !profile|!adverse 我在生成路线时遇到问题 A
ilppa_adverse_view:
path: /{adverseReference}/{adverseName}
defaults:
_controller: IlppaAdverseBundle:Adverse:view
requirements:
adverseReference: !profile|!adverse
我在生成路线时遇到问题
An exception has been thrown during the rendering of a template ("Parameter "adverseReference" for route "ilppa_adverse_view" must match "!profile|!adverse" ("5401b864ad2f1" given) to generate a corresponding URL.") in FOSUserBundle:Profile:show_content.html.twig at line 16.
我不明白,因为5401b864ad2f1与匹配!简介|!不利
否它不匹配:
在regexp中,必须明确定义与regexp匹配的内容。您不能假设,如果regexpr不匹配两个字符串,它将匹配所有其他字符串
您还必须知道,对于symfony,路线占位符的默认要求是:
[^/]+
我使用了这个regexp,但没有在symfony实例上进行测试,但它可以在您的情况下工作:
^((?!.*(profile|adverse))[^\/]+)$
或
您还可以在symfony中创建自定义url匹配器,这不是regexp所必需的
^((?!.*(profile|adverse))[^/]+)$