![]() |
Разработка шаблонов на php
# Вступление.
Доброго времени суток. В этой статье я хочу рассказать об реализации шаблонов в php. Хоть идея не нова, но я решил описать принцып этого метода на примере своего движка.. Для начала скажу что тот пример который я опишу в этой статье является не очень удобным для крупных web-приложений, а как раз подходит для маленьких движков. # Использование шаблонов. Прежде чем использовать шаблоны, подумайте, действительно ли они вам нужны? На данный момент существует огромное количество коммерческих вариантов шаблонов. Все они работают по одному принципу (значение, замена), но имеют огромное количество наворотов, таких как автоматическое изменения регистра переменных, поиск по регулярным выражениям и т.д., все это конечно хорошо и легко реализуемо. Но что делать если вы не нуждаетесь в мощных шаблонизатарох, в которых просто нет особой необходимости. Написать свой простенький, но действительно удобный именно для вашего проекта. Также в сети можно найти множество бесплатных вариантов шаблонов, но все они много весят и работают не слишком быстро. Я предлагаю вам простой каркас "шаблонов" на php, с его помощью можно сделать свой шаблонизатор, со всеми необходимыми вам функциями. # Реализация. Итак, для начала создадим 3 файла: index.php [главная страница] main.class.php [класс шаблонизатора] main.tpl [файл шаблона] Исходник main.class.php Цитата:
* Функции start() и end() - функции подсчитывающие время выполнения скрипта. * Функция parse принимает 2 значения. Это файл шаблона (main) и массив спецтэгов {TITLE, {DATE}, {TEXT}. Она заменяет тэги вида {TAG} на установленные значения. Итак, главный класс готов. Теперь напишем основной файл, который будет вызывать все эти функции и выдавать результат на страницу. Исходник index.php Цитата:
Теперь заполним файл main.tpl Исходник main.tpl Цитата:
# Заключение. В этой статье я описал как можно быстро написать свой простенький шаблонизатор. Надеюсь что статья будет вам полезна. |
Неплохая статья.
|
Статья хорошая. Но это только НАЧАЛО. Отправная точка. Очень хотелось посмотреть примеры применения или более сложные шаблонизаторы, о которых упоминалось общими словами в начале статьи.
|
antiforum, M-K, мне интересно, говоря "хорошая статья" вы на чём основывались? Статья (я бы это так и не называл), пускай не "говно", но всё равно - мусор.
p-range, то что ты сотворил никакой не шаблонизатор... Обычный парсер с заменой, который в реальной жизни не найдёт никакого применения... Нету циклических интераций, нету условных итераций... А использование ООП-парадигмы и глобальных переменных это вообще нонсенс... Радует, конечно, что человек обладает некоторыми знаниями в PHP, но не стоит бросаться и "релизить" вышепреведённый детский сад... Всё имхо... |
А зачем такое делать, если можно воспользоваться PHP в качестве шаблонизатора? 0_0
Цитата:
|
nerezus, что значит не везде работает? Всё норм...
p-range, учитесь! Дёшево и сердито, и прикопаться не к чему... |
Да, вот nezerus хорошо написал. Я сам сайт с такими шаблонами делал и он у меня отлично работал. А из статьи p-range я научился разве что gZip использовать = )
|
Цитата:
А еще конкретнее: <? ... ?> работает не везде. Надо юзать <?php ... ?> |
to groundhog
если в php.ini отключена директива: short_open_tag короткий тег работать не будет. |
даже блоков нету. какой нафиг шаблонизатор.
|
| Время: 19:33 |