Технология построения интерактивных Web-ресурсов. Мартынов А.И - 25 стр.

UptoLike

Составители: 

25
<table>
<tr>
<td align = center valign = top width = 25>&raquo</td>
<td >
{if $files != false}
{foreach name=outer item=student from=$students}
{if $file->TYPE}
<a href = "index.php?url={$student->name}">
{/if}
{/foreach}
{/if}
</td>
</tr>
</table>
Smarty – это компилирующий обработчик шаблонов для PHP. Smarty
позволяет отделить логику и данные от их представления. Это удобно в ситуациях,
когда программист и верстальщик шаблонаразличные люди[1].
Рассмотрим пример создания страницы, которая показывает блоги
пользователей.
Название блогов, автор и сама статьяэлементы, которые не содержат
никакой информации о том, как они будут представлены
. Их передают в Smarty из
приложения. Верстальщик шаблона создает, редактирует шаблоны, используя
комбинацию тэгов HTML и тэгов шаблона. Чтобы отформатировать представление
он редактирует фоновые цвета, размеры шрифтов, стилей и т. д.
Программист при необходимости изменения способа хранения контента
блогов, вносит изменения в логику приложения. Эти изменения не вызывают
изменения в шаблонах. Содержание
будет передаваться в шаблон таким же самым
способом. Аналогично, если верстальщик захочет перепроектировать шаблоны,
это не потребует изменений в функционале ресурса.
Таким образом, программист может вносить изменения в функционал без
необходимости изменения шаблонов, а дизайнер шаблонов может вносить
изменения в шаблоны без необходимости изменения функционала.
Шаблоны могут содержать в себе логику
, но лишь при условии, что эта
логика необходима для представления данных. Такие задачи, как подключение
других шаблонов, чередующаяся окраска строчек в таблице, приведение букв к
верхнему регистру, циклический проход по массиву для его отображения и т.д. –
это примеры функционала приложения.
Smarty не видит разницы между функционалом и представлением. Поэтому
существует
возможность переносить функционал в шаблоны и контроль за этим
лежит на разработчике. ри необходимости полного отсутсвия в шаблоне
функционала, разработчик может ограничиться использованием чистого текста и
переменных.
Одна из уникальных возможностей Smarty – компилирование шаблонов. Это
означает, что Smarty читает файлы шаблонов и создает PHP-код на их основе. Код