Ваш логин:
Ваш пароль:
 
 
3-05-2010, 13:28, прочитали: 2083 раз, раздел: Разработка
В который раз задаюсь вопросом каким же должен быть шаблонизатор?

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

От концепции блочных тегов я ушёл сразу - крайне неудобная штука имхо... конструкция $tpl->set также не прижилась...

Обработка регулярными выражениями тегов (+ блоков) также крайне неправильна...

Теория

Вот список требований которым он как Я считаю должен удовлетворять:

Замена простых тегов в пределах одного шаблона.

Замена глобальных тегов для всех шаблонов. (например языковых констант)

Использование условий и switch'ей. Обязательно необходимо поддерживать вложенность операторов друг в друга.

Использование определённого набора ф-ций (например translit) и возможность вставки php кода. Набор функций должен расширяться динамически.

Шаблоны необходимо кэшировать, но при этом соблюдая актуальность данных.

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


Дополнительно... при компиляции можно реализовать следующее:

* Автоматически вырезать весь js код и стили из тела шаблона, сжимать всё (в gzip) и сохранять в отдельные файлы.

* Автоматически валидировать html, пробывать "причесать" код.

Основная задача — максимально разграничить труд программера и дизайнера, при этом сохранив чоткую, простую и понятную структуру шаблонов и тегов, в которой смог бы разобраться любой.
Добавил: nickon, комментариев: 0, читать дальше ...
© 2008-2010 nick-on.name
Любая перепечатка материалов без разрешения редакции запрещена!

Обратная связь