Библиотека plusby.com Учебник РНР 4.2 Иллюстрированный самоучитель по Maple

Глава 1. Что такое Smarty?

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

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

Одна из уникальных возможностей Smarty - компилирование шаблонов. Это означает, что Smarty читает файлы шаблонов и создает PHP-код на их основе. Код создаётся один раз и потом только выполняется. Поэтому нет необходимости обрабатывать файл шаблона для каждого запроса и каждый шаблон может пользоваться всеми преимуществами таких кэшируюших решений, как Zend Accelerator (http://www.zend.com/) или PHP Accelerator (http://www.php-accelerator.co.uk).

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