Я хочу использовать фильтр в условии if в Twig. Причиной этого является атрибут Symfony2, который я не могу сравнивать напрямую, я должен изменить его заранее. Я начал с этого кода:
{% if app.request.attributes.get('_controller')|split('::')|first == 'some\controller\name' %}
do something
{% endif %}
К сожалению, это не работает. Поэтому я подумал, что буду использовать set перед сравнением:
{% set controller = app.request.attributes.get('_controller')|split('::')|first %}
{% if controller == 'some\controller\name' %}
do something
{% endif %}
{{ controller }} {# would print 'some\controller\name' #}
Угадай, что? «сделать что-нибудь» не печатается, даже если переменная controller теперь существует и имеет значение, с которым я ее сравниваю. Что я делаю не так?