Я знаю, что легко проверить, определена ли переменная, с помощью
{# defined works with variable names #}
{% if foo is defined %}
...
{% endif %}
и установить переменную, если она не определена, используя:
{% set foo = 'bar' %}
Есть ли способ установить переменную как неопределенную? У меня есть переменная, которая передается в html-файл ветки, и она не всегда передается, и я только что столкнулся с ситуацией, когда она может быть нулевой. Когда оно равно нулю, я хотел бы установить для него значение undefined, потому что логические операторы в остальной части файла работают правильно, и это мучительная проверка: сначала определяется определение, а затем обнуляется второй раз каждый раз, когда я использую эту переменную.
Я наткнулся на этот разговор и хотел знать, есть ли у кого-нибудь еще решение либо отменить установку переменной, либо лучший способ установить переменную, которая может быть неопределенной или нулевой.
Обновлено с помощью код:
Я работаю над разделом администрирования серверной части. По разным причинам я не использовал SonataAdmin и хотел создать свой собственный. В этой области я могу просмотреть сводную информацию обо всех пользователях, а на некоторых страницах я могу просматривать и редактировать части профиля пользователя. У меня есть файл ветки заголовка, содержащий ссылки на сводные страницы, а затем еще одна строка, содержащая ссылки на разделы профиля пользователя.
Для моего маршрута admin_profile_show — мне нужно включить пользователя для загрузки правильной страницы, но если здесь значение пользователя равно нулю, это вызовет ошибку, поскольку он не может получить доступ к свойству имени пользователя.
{% if user is defined %}
{{ path('admin_profile_show', { 'username': user.username}) }}
...other routes and links
{% endif %}
Думаю, моя реальная проблема в том, что я допустил случай, когда имя пользователя может быть нулевым, поэтому оно определено, но равно нулю. Прежде чем изменить логику других файлов, я хотел знать, существует ли неустановленная переменная, которая работала бы следующим образом:
{% if user is null %}
{% unset user %}
{% endif %}
Подробнее здесь: https://stackoverflow.com/questions/252 ... -undefined