Smarty

Smarty — это компилирующий обработчик шаблонов для PHP. Говоря более четко, он предоставляет один из инструментов, которые позволяет добиться отделения прикладной логики и данных от представления. Это очень удобно в ситуациях, когда программист и верстальщик шаблона — различные люди.

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

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

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

Некоторые особенности Smarty:

  • Он очень быстр.
  • Он эффективен, так как обработчик PHP делает за него грязную работу.
  • Никакой лишней обработки шаблонов, они компилируются только один раз.
  • Перекомпилируются только те шаблоны, которые изменились.
  • Можно создавать пользовательские функции и модификаторы, что делает язык шаблонов чрезвычайно расширяемым.
  • Настраиваемые разделители тэгов шаблона, то есть вы можете использовать {}, {{}}, и т. д.
  • Конструкции if/elseif/else/endif передаются обработчику PHP, так что синтаксис выражения {if …} может быть настолько простым или сложным, насколько вам угодно.
  • Допустимо неограниченное вложение секций, условий и т. д.
  • Существует возможность включения PHP-кода прямо в ваш шаблон, однако обычно в этом нет необходимости (и это не рекоммендуется), так как движок весьма гибок и расширяем.
  • Встроенный механизм кэширования.
  • Произвольные источники шаблонов.
  • Пользовательские функции кэширования.
  • Компонентная архитектура.
 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home