Twig — настройка хэша с косвенно именованными ключами

Кажется, у меня есть небольшая проблема с настройкой хэшей внутри Twig. Я хочу использовать хэш-объект для подготовки некоторых данных для последующей отправки обратно через ответ JSON (в Symfony3).

На простом примере мой код таков:

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

Я хотел бы, чтобы hashObject имел значение {'Lola': 'someValue'}, но вместо этого, если я выполню эти 3 строки сверху, я получу {'someName': 'someValue'}. Итак, Twig догадывается, что моя переменная на самом деле является строкой, и использует ее как буквальное значение (как в каком-то уродливом кошмаре PHP без сообщений об ошибках :)).

Я предполагаю, что должен быть аккуратный способ обойти это, но я не могу его найти. Помощь?


person userfuser    schedule 04.08.2016    source источник
comment
Возможный дубликат имен динамических переменных ветки   -  person goto    schedule 04.08.2016


Ответы (1)


Извините за автоспам, но, как это часто бывает, я нашел ответ, как только спросил кого-то. Решение состоит в том, чтобы использовать круглые скобки вокруг имени ключа.

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

Это на самом деле аккуратное решение. Спасибо, команда Twig. :)

person userfuser    schedule 04.08.2016