использование функций веток (экранирование) в действии

Мне было интересно, могу ли я каким-то образом получить доступ к ветке в действии, чтобы использовать ее функцию экранирования? Мне это нужно, потому что я конвертирую текст с уценкой, и мне нужно будет показать его в шаблонах в необработанном виде, но я хочу избежать его, прежде чем сохранить.

Могу ли я каким-то образом получить доступ к сервису twig и какую функцию мне вызвать?


person DavidW    schedule 10.01.2012    source источник


Ответы (1)


Плохая идея изменять пользовательский ввод перед его сохранением. Вы должны сохранить его как есть и преобразовать на выходе. Если вас беспокоит производительность этого подхода, кэширование — это ответ.

Причина этого в том, что если у вас есть ошибка в вашей логике преобразования или вы решите изменить ее позже, у вас будут проблемы, если вы сохраните преобразованный ввод.

Кстати, взгляните на комплект уценки.

person Elnur Abdurrakhimov    schedule 10.01.2012
comment
Спасибо за совет. Можете ли вы привести пример того, как я могу реализовать кэширование в этом сценарии? Будет ли у меня в основном хранилище ключевых значений? Что ты используешь? Если я использую кеширование, мне все равно нужно будет получить доступ к функциям экранирования ветки, верно? Как я мог это сделать? Или я должен просто использовать htmlspecialchars? - person DavidW; 10.01.2012
comment
Правда, за двумя исключениями: очищать и нормализовать пользовательский ввод перед сохранением, преобразовывать на выходе. - person bobthecow; 11.01.2012