树枝中的字符串比较

时间:2018-09-11 23:26:09

标签: symfony twig

有人可以解释吗?

在树枝中,我需要检测是否已加载某些控制器。取决于它,它应该显示一个HTML块或另一个。

我在树枝模板中有这个比较:

{% if app.request.attributes.get("_controller") == 'App\Controller\DefaultController::index' %}

即使控制器和操作实际上是“ App \ Controller \ DefaultController :: index”表达式,其结果也为false,表示打算在其他控制器上显示该块。

除了说明,我需要解决。

顺便说一句,当我打印控制器名称时,使用

{{ app.request.attributes.get("_controller") }}

我可以检查这种奇怪的行为。

问候 海梅

1 个答案:

答案 0 :(得分:2)

Twig正在读取字符串中的反斜杠作为转义字符。要使其工作,您必须转义反斜杠。像这样:

'App\\Controller\\DefaultController::index'