Авторизация



Задай мне вопрос

Голосования

Вы любите, когда вам чешут спинку? ;)
 

Про шаблоны E-mail
User Rating: / 0
PoorBest 
Written by xternalx   
Wednesday, 30 June 2010 11:48

В настоящее время я работаю над одним довольно серьезным проектом. Проект разрабатывается на php, соответственно, работает в браузере. Для отображения данных можно генерировать вывод прямо из php, но это получается не очень красиво как с точки зрения оформления кода, так и с точки зрения гибкости. Что если мне нужно будет поменять стиль отображения какого либо элемента web страницы?

Тут на помщь и приходят шаблонизаторы ;)
Поскольку все начиналось довольно просто, я решил написать свой простейший шаблонизатор, в страницах нужно было менять простые ключевые слова шаблона на их сущности.

 

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

Работа уже была сделана, менять шаблонизатор желания не было, и я решил пойти на небольшую хитрость - ввел в шаблонизатор триггеры.

Суть триггеров такова:

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

Таким образом, шаблоны получаются совершенно чистыми от php кода, а вся работа по выводу данных осуществляется предельно просто.

Если кому интересно, могу выложить класс своего шаблонизатора


 

Add comment


Security code
Refresh