Smarty — компилирование шаблонов

Smarty — компилирование шаблонов Smarty — компилирующий обработчик шаблонов для PHP, один из инструментов, позволяющих отделить прикладную логику и данные от представления в духе концепции Model-view-controller. Например, вы создаёте страницу, которая показывает газетную статью. Название статьи, автор и сама статья — элементы, которые не содержат никакой информации о том, как они будут представлены. Их передают в Smarty из приложения, а верстальщик шаблона редактирует шаблоны и использует комбинацию тегов HTML и тегов шаблона, чтобы отформатировать представление этих элементов (таблицы HTML, фоновые цвета, размеры шрифта, стиля и т. д.). Однажды программист захочет изменить способ хранения статьи (сделать изменения в логике приложения). Это изменение не вызовет изменений в шаблонах. Содержание будет все еще передаваться в шаблон таким же самым способом. Аналогично, если верстальщик захочет полностью перепроектировать шаблоны, это не потребует никаких изменений в прикладной логике.
Одно из предназначений Smarty — это отделение логики приложения от представления. Конечно же, шаблоны могут содержать в себе логику, но лишь при условии, что эта логика необходима для правильного представления данных. Такие задачи, как подключение других шаблонов, чередующаяся окраска строчек в таблице, приведение букв к верхнему регистру, циклический проход по массиву для его отображения и т. д. — всё это является примером логики представления. Не следует думать, что Smarty заставляет вас разделять логику приложения и представление. Smarty не видит разницы между этими вещами, так что помещать или не помещать логику приложения в шаблоны — решать вам. Если же вы считаете, что в шаблоне вообще не должно быть логики, вы можете ограничиться использованием чистого текста и переменных. Одна из уникальных возможностей Smarty — компилирование шаблонов. Это означает, что Smarty читает файлы шаблонов и создаёт PHP-код на их основе. Код создаётся один раз и потом только выполняется. Поэтому нет необходимости обрабатывать файл шаблона для каждого запроса и каждый шаблон может пользоваться всеми преимуществами таких кешируюших решений, как eAccelerator или PHP Accelerator. Некоторые особенности Smarty: Он очень быстр. Он эффективен, так как обработчик PHP делает за него грязную работу. Никакой лишней обработки шаблонов, они компилируются только один раз. Перекомпилируются только те шаблоны, которые изменились. Можно создавать пользовательские функции и модификаторы, что делает язык шаблонов чрезвычайно расширяемым. Настраиваемые разделители тегов шаблона, то есть вы можете использовать {}, {{}}, и т. д. Конструкции if/elseif/else/endif передаются обработчику PHP, так что синтаксис выражения {if …} может быть настолько простым или сложным, насколько вам угодно. Допустимо неограниченное вложение секций, условий и т. д. Существует возможность включения PHP-кода прямо в ваш шаблон, однако обычно в этом нет необходимости (и это не рекомендуется), так как движок весьма гибок и расширяем. Встроенный механизм кеширования. Произвольные источники шаблонов. Пользовательские функции кеширования. Компонентная архитектура. [attachment=313]
  • +8
  • 26 мая 2008, 13:39
  • BIT

Комментарии (12)

RSSсвернуть /развернуть
+
0
это надо каму? :)
avatar

PaRaDoX

  • 26 мая 2008, 13:46
+
0
bukv
avatar

PUMBA

  • 26 мая 2008, 14:03
+
0
это надо, кому надо, тот знает bully
avatar

DoSpeX

  • 26 мая 2008, 14:19
+
0
это нах ваще надо? niponyal
avatar

petruxa15

  • 26 мая 2008, 14:19
+
0
niponyal
avatar

Sairus

  • 26 мая 2008, 14:32
+
0
Кому надо, тот уже давно использует. Думаю выкладывать сюда программерскую инфу не обязательно, т.к. не весь контингент данного портала осилит ее
avatar

Ango

  • 26 мая 2008, 14:46
+
0
bukv
avatar

naruto

  • 26 мая 2008, 17:29
+
0
PaRaDoX, например мне.
Испрбуем…
avatar

sLaWa

  • 26 мая 2008, 17:32
+
0
bukv
avatar

Daredevil

  • 26 мая 2008, 18:39
+
0
bully
avatar

DJ_xXx

  • 27 мая 2008, 01:21
+
0
58kurim
avatar

Diaman21

  • 29 мая 2008, 23:32
+
0
3
avatar

Looking

  • 03 июня 2008, 20:26

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Валидный HTMLВалидный CSSRambler's Top100