Скорее всего решения нету, но на всякий случай спрошу.
У меня легаси система, которая характеризуется тремя свойствами
1. Native-PHP шаблонизатор
2. По старой доброй страдиции, в шаблон попадают не нормальные скаляры, а целиком модели. А чо, удобно же - в контроллере всего одно присвоение - и в шаблоне доступ к любым свойствам модели.
3. Причем лежат они в виде read-only свойств, выдаваемых строго через геттер.![Frown :( :(](/talk/styles/default/xenforo/smilies/frown.png)
Минусы этих пунктов очевидны, но в сочетании дают совсем грустную картину:
Для Native-PHP шаблонизатора единственный вариант сделать дефолтный искейпинг - это искейпить переменные при их отправке в шаблон, в tpl::set(),
В принципе, мгжно даже наговнокодить рекурсивный перебор назначаемых в шаблон переменных, чтобы внутренности тоже искейпились. Мало того, что этот подход сам по себе дурно пахнет - так еще и не поможет с приватными свойствами совсем - не дотянешься же. В общем - тупик.
Пока планирую переписывать весь сеттинг в шаблоны на нормальный - достали в контроллере все нужные данные из модели, да и присвоили переменным шаблона.
Но может всё-таки есть вариант искейпить автоматом?
У меня легаси система, которая характеризуется тремя свойствами
1. Native-PHP шаблонизатор
2. По старой доброй страдиции, в шаблон попадают не нормальные скаляры, а целиком модели. А чо, удобно же - в контроллере всего одно присвоение - и в шаблоне доступ к любым свойствам модели.
3. Причем лежат они в виде read-only свойств, выдаваемых строго через геттер.
![Frown :( :(](/talk/styles/default/xenforo/smilies/frown.png)
Минусы этих пунктов очевидны, но в сочетании дают совсем грустную картину:
Для Native-PHP шаблонизатора единственный вариант сделать дефолтный искейпинг - это искейпить переменные при их отправке в шаблон, в tpl::set(),
В принципе, мгжно даже наговнокодить рекурсивный перебор назначаемых в шаблон переменных, чтобы внутренности тоже искейпились. Мало того, что этот подход сам по себе дурно пахнет - так еще и не поможет с приватными свойствами совсем - не дотянешься же. В общем - тупик.
Пока планирую переписывать весь сеттинг в шаблоны на нормальный - достали в контроллере все нужные данные из модели, да и присвоили переменным шаблона.
Но может всё-таки есть вариант искейпить автоматом?
Последнее редактирование: