Symfony помещает все переменные шаблона в класс sfOutputEscaperArrayDecorator
. Поэтому, когда вы пишете unserialize($var)
, вы на самом деле пытаетесь десериализовать класс sfOutputEscaperArrayDecorator.
Я рекомендую отключить экранирование выхода в settings.yml:
escaping_strategy: false
Это глупая, убивающая производительность, ненужная особенность Symfony, которую нужно убить.
Обновлено :
Если вы отключите escaping_strategy, вам нужно будет вручную экранировать ввод от пользователей (для предотвращения XSS) с помощью htmlSpecialCharacters()
.
Класс Symfony делает это за вас, но это означает, что он также экранирует все числа и символы - 99% из них, как вы уже знаете, будут безопасными (идентификаторы, даты, ваш собственный контент). Когда я отключил автоматическое экранирование, загрузка моего сервера значительно упала.
Имейте в виду, что Symfony дважды применяет это автоматическое экранирование, если вы передаете sfOutputEscaperArrayDecorator
частичному, то есть >
станет >