参数为Symfony的路由条件
我有一个带有参数{id}的路由,我想对其应用一个条件。只有当{id}包含的字符超过3个时,此路由才可用。我阅读了routes和a中的条件。我尝试的是:参数为Symfony的路由条件,symfony,routing,symfony4,Symfony,Routing,Symfony4,我有一个带有参数{id}的路由,我想对其应用一个条件。只有当{id}包含的字符超过3个时,此路由才可用。我阅读了routes和a中的条件。我尝试的是: /** * @Route("/{id}", name="some_route", condition="strlen(id) > 3") */ 我还尝试使用需求而不是条件,并尝试使用{id}而不是id。运气不好。显示的错误是: 表达式strlenid>3的位置1附近不存在函数strlen 如何解决这个问题 在这种情况下,使用正则表达式
/**
* @Route("/{id}", name="some_route", condition="strlen(id) > 3")
*/
我还尝试使用需求而不是条件,并尝试使用{id}而不是id。运气不好。显示的错误是:
表达式strlenid>3的位置1附近不存在函数strlen
如何解决这个问题 在这种情况下,使用正则表达式是最好的选择。查看PHP文档以了解更多信息。假设您所指的字符是字母数字字符,我添加了-和
试试正则表达式。将需求添加为[requirements={id=[0-9]{3}]