Php 意外字符“@&引用;周围位置

Php 意外字符“@&引用;周围位置,php,symfony,Php,Symfony,我想创建白名单IP,可以连接到我的api。 尝试使用 但是当我尝试向security.yml添加规则时 - path: ^/v2/api allow_if: "request.getClientIp() in @=service('app.white_list_manager').getWhiteList()" 我有一个错误: Lexer.php第90行中的SyntaxError: @=service('app.white\u list\u manager').getWhi

我想创建白名单IP,可以连接到我的api。 尝试使用
但是当我尝试向security.yml添加规则时

    - path: ^/v2/api
      allow_if: "request.getClientIp() in @=service('app.white_list_manager').getWhiteList()"
我有一个错误:

Lexer.php第90行中的SyntaxError: @=service('app.white\u list\u manager').getWhiteList()中的表达式请求.getClientIp()的位置25处出现意外字符“@”

我如何解决它?

Symfony 3.0.9版的一个解决方法是:

要简单地定义侦听
内核.request
,请插入
“@app.white\u list\u管理器”
“@request\u堆栈”


然后检查您所在的路由,并在whitelistmanager中检查ip,并采取相应的行动。(重定向、拒绝访问等)

您确定可以在security.yml配置中使用ExpressionLanguage吗?不仅在属性中,还可以作为配置器的参数和调用(方法调用)的参数。正如这里->我使用这个问题的答案是的,尽管有几个人将它标记为答案,但它甚至没有帮助提出这个问题的原始海报..用内核侦听器解决。谢谢你的帮助