Twig - 使用间接命名的键设置哈希

Twig - setting up a hash with indirectly named keys

我在 Twig 中设置哈希时似乎遇到了一个小问题。我想使用哈希对象来准备一些数据,以便稍后通过 JSON 响应(在 Symfony3 中)将其发回。

举个简单的例子,我的代码是这样的:

{% set someName = 'Lola' %}
{% set hashObject = {someName : 'someValue'} %}
{{ dump(hash)  }}

我希望 hashObject 的值为 {'Lola': 'someValue'},但是,如果我从上面执行那 3 行,我将得到 {'someName': 'someValue'}。 所以,Twig 猜测我的变量实际上是一个字符串,并将其用作文字值(就像在一些丑陋的 PHP-no-error-reporting 噩梦中 :))。

我猜一定有一个巧妙的解决方法,但我似乎找不到。帮忙?

很抱歉自动发送垃圾邮件,但是 - 正如经常发生的那样 - 我一问别人就找到了答案。解决方案是在键名周围使用括号。

{% set someName = 'Lola' %}
{% set hashObject = {(someName): 'someValue'} %}
{{ dump(hash)  }}

这实际上是一个巧妙的解决方案。谢谢,Twig 团队。 :)