Шаблоны в PHP для чайников// 7 сентября 2003 годаИ снова здравствуйте. Давно я Сужествует такая «проблема», как разделение оформления и содержания, и отделение исполняемого кода от получаемого htmlя. Мухи там, котлеты тут. Грубо говоря, программист программирует, дизайнер дизайнит и никто никому не мешает жить. А если надо поменять PHP хорош (хорош, собака!) тем, что позволяет встраивать исполняемые конструкции прямо в html. Плюсы понятны. Минусы, например: довольно сложно менять оформление в таком коде: Чего хочется в идеале? Чтобы была То есть,
Там, где стоит [TITLE], движок выводит заголовок, там, где [TEXT] соответственно, текст. Легко и просто. И все счастливы. И это правильно. Но! Тут и начинается маразм. Сначала пишется «движок шаблонов»,
Дальше больше. Оказывается, что в некоторых случаях этого мало. Нужно больше функций! Например, нам нужно проверять: если [TEXT] пустой, то выводить одно, если не пустой, то выводить другое, то есть, фактически, вводить уже минимальную логику отображения. И мы пишем До такой степени навороченный, что дизайнер, ради которого все затевалось, чтобы тот смог сам менять оформления, уже не может сменить оформление пока специально не выучит язык шаблонов. А теперь потрясем мозгами и хорошенько подумаем, что же у нас получилось. У нас получился фактически язык программирования, написанный на PHP, который можно встраивать в Поздравим друг друга. У нас получился PHP, написанный на PHP. Велосипед для велосипеда. Осмысление этого придет позже. А теперь возвращаемся к первому примеру.
Помните? Сравним его со следующим примером и попробуем найти кардинальные различия.
Чем он кардинально отличается? Ни чем. Глупый верстальщик поймет, если ему сказать «нужно вставить переменную text пиши То есть следующий пример <html> Дальше больше. Выносим все шаблоны в отдельный файл. И пишем просто:
Идея понятна? В процессе исполнения Верстальщику же, чтобы научиться работать с такими «шаблонами», нужно всего 35 минут для ознакомления с основами синтаксиса PHP. И не надо учить Ну что плохого в таком вот шаблоне страницы? <? if ($text==""): ?> <? else: ?> <? endif; ?> </body> Плюсы налицо. Для его вывода не нужно никаких дополнительных вещей. Кроме PHP. Вот, собственно, и все. PS. Уважаемые умники. Данный способ «шаблонизации» действительно покрывает 95% нужд простых смертных. Если вам |
| ^ Copyright © 1998-2008 by Дмитрий Смирнов. Перепечатки возможны только с указанием ссылки. |