Моя библиотека - социальная сеть любителей книг

Прощай Smarty или простой шаблонизатор

Программирование, Проектирование 06.10.2007

На прошлой недели запускал один проект и что-то мне не понравилась скорость генерации страниц. Начал искать в чем дело. Оказалось, в шаблонизаторе!

Думаю, очень многие разработчики используют в качестве шаблонизатора Smarty. По-моему, это самый известный шаблонный движок. Чем он знаменит?

  • легок в освоении, понятен даже человеку не владеющему php;
  • легко интегрируется в готовые проекты;
  • очень функционален, обладает практически своим языком программирования.

И вот тут-то “собака и зарыта”. Программисты использующие Smarty, пушит шаблоны на его (довольно корявом) языке, чтобы шаблонизатор потом постоянно перегонял эти шаблоны в PHP-код (куча никому не нужной работы!!!). Если вдуматься, получается самая большая глупость во всей истории программирования на PHP!

Не проще ли сразу писать шаблоны на PHP?

Какая разница писать: {$title} или <?php echo $title?> (либо <?=$title?>)? Да первый вариант, короче. Но это скорее дело привычки, а вот скорость приложений на “нативных” шаблонах, выростает в 2-3 раза! По-моему, неплохой результат, и ради него можно написать пару-тройку лишних символов.

Два с лишним года я был ярым сторонником Smarty, но теперь я послал Smarty в пешее эротическое путешевствие. Все теперь только “нативные” шаблоны - многие вещи в них сделать гораздо легче, чем в каких либо других шаблонизаторах. Шаблонизатор уровня Smarty - это настоящие грабли!

В замен 300-килобайтному Smarty, я за 10 минут написал свой простенький шаблонизатор. Его задача - собирать переменные в одно место и рендерить шаблоны. И все! Больше от шаблонизатора ничего не нужно.

И так код:

Читать полностью »


Copyright, 1983 – 2010