2014-01-13 2 views
3

Где задокументировано существование этого ключевого слова? (Я думаю, что это константа, а не объект, правильно?).Переменная переменная «_self»

В любом случае, я хотел бы знать, где он задокументирован, чтобы узнать, есть ли другие ключевые слова, о которых я не знаю.

Благодаря

+0

Будь осторожен, что '_self' [устарел] (http://symfony.com/blog/security-release-twig-1-20-0) повсюду, но используется с тегом' {% import%}. –

ответ

3

Это не реально ответить на этот вопрос, но я думаю, что это важно, чтобы говорить об этом. _self сам по себе не совсем не рекомендуется или удаляется, но его использование есть!

Если вы ищете устаревшие функции в Twig 2. *, вы найдете there are none. Итак, вы можете ошибочно подумать, что вы в безопасности, или поцарапать голову (как я и сделал) в поиске, почему она перестала работать в версии 2.0.

Но на самом деле, в Twig v1, _self был объектом, с помощью которого вы могли бы сделать _self.templateName, или вызвать с ним макросы Twig. Его использование в качестве объекта было deprecated, но оно сработало.

В Twig v2, _self больше не объект, а строка, которая фактически содержит имя шаблона (предыдущее значение _self.templateName).

Итак, если вы использовали его в Twig v1 как объект - ваш код не будет работать в Twig v2. В любом случае, это похоже на немного грязное разрешение проблемы _self.

Смежные вопросы