Что такое Smarty?

Smarty - шаблонный движок для php. Более определенно, он предоставляет управляемый способ разделения прикладной логики и содержания от представления. Это очень удобно в ситуациях, когда программист и проектировщик шаблона играют различные роли, или в часто - это различные люди. Например, скажем, Вы создаете страницу, которая показывает газетную статью. Название статьи, автор и сама статья - елементы, которые не содержат никакой информации о том, как они будут представлены. Они передаются в Smarty шаблон, а верстальщик редактирует шаблоны и использует комбинацию тэгов HTML и тэгов шаблона, чтобы отформатировать представление этих элементов (таблицы HTML, фоновые цвета, размеры шрифта, стиля, и т.д.). Однажды программист захочет изменить способ хранения статьи (сделать изменения в логике приложения.) Это изменение не затрагивает проектировщика шаблонов. Содержание будет все еще передаваться в шаблон таким же самым способом. Аналогично, если проектировщик шаблона хочет полностью перепроектировать шаблоны, это не потребует никаких изменений к прикладной логике. Поэтому, программист может делать изменения в прикладной логике без потребности изменения шаблонов, а проектировщик шаблона может делать изменения в шаблонах без изменения прикладной логики.

Теперь коротко о том, чего не может Smarty. Он не пытается полностью разделить логику от шаблонов. Нет никакой проблемы с логикой в ваших шаблонах при условии, что это строго логика представления.

В рамках Astra.CMS платформы, вся прикладная логика уже сосредоточена в готовых модулях и блоках. Для интеграции дизайна достаточно работать на уровне логики представления в шаблонах.

Один из уникальных аспектов в Smarty - компилирование шаблонов. Это означает, что Smarty читает файлы шаблонов и создает php сценарии из них. Они создаются один раз и потом только выполняются. Поэтому нет необходимости обрабатывать файл шаблона для каждого запроса.

Некоторые возможности Smarty:

  • Он очень быстр.
  • Он эффективен, так как PHP обработчик делает грязную работу
  • Никакой лишней обработки шаблонов, они компилируются только один раз.
  • Перекомпилируются только те шаблоны, которые именились.
  • Возможно создавать пользовательские функции и модификаторы, так что язык шаблонов чрезвычайно расширяем.
  • If/elseif/else/endif конструкции передаются PHP обработчику, так что синтаксис {if …} выражения может быть настолько простым или комплексным, как вам нравится.
  • Допустимо неограниченное вложение секций, условий и т.д.
  • Произвольные источники шаблона

Язык шаблонов Smarty

 
smarty.txt · Последние изменения: 29.12.2014 11:15 (внешнее изменение)