我的Symfony控制器中有一个函数,它返回以下内容:测试+测试字符串 1+测试2
测试控制器.php
public function getResultAction($fileName) {
$string1="test";
$string2="testString1";
$string3="test2";
$response = $string1."+".$string2."+".$string3;
return new Response($response);
}
在我的树枝中,我已经在我的控制器中渲染了函数:
测试.html.twig
{% set test %}
{{ render(controller('TestBundle:Test:getResult')) }}|split('+', 4)
{% endset %}
{{ test[0] }}
我正在使用树枝拆分过滤器,以便我可以单独显示测试、测试字符串 1 和测试2。但是每当我尝试显示 test[0] 时,我都会收到以下错误:
无法访问类">Twig_Markup"对象上的键"0",该对象未在 TestBundle:Test:test.html.twig 中实现 ArrayAccess 接口
我正在做的事情有什么问题?我希望你能帮我解决这个问题。谢谢
您错过了双括号内的拆分过滤器,如下所示:
{% set test %}
{{ render(controller('TestBundle:Test:getResult')) |split('+', 4) }}
{% endset %}
Hoveever似乎与set
标签存在同样的问题。从文档中:
set标签也可用于"捕获"文本块
尝试:
{%
set test=render(controller('TestBundle:Test:getResult'))|split('+', 4)
%}
希望这个帮助