Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сведения об обработчике шаблонов Smarty





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

Например, нужно создать страницу, которая показывает газетную статью.

Название статьи, автор и сама статья — элементы, которые не содержат никакой информации о том, как они будут представлены. Их передают в Smarty из приложения.

Затем верстальщик шаблона редактирует шаблоны и использует комбинацию тэгов HTML и тэгов шаблона, чтобы отформатировать представление этих переменных, содержащих элементы типа таблиц HTML, фоновых цветов, размеров шрифта, стилей, SVG и т.д.).

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

Аналогично, если верстальщик захочет полностью перепроектировать шаблоны, это не потребует никаких изменений в прикладной логике.

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

Изм .
Лист
№докум .
Подпись
Дата
Лист
 
ПГУ 1.09.03.01.13.001 ПЗ  
Конечно же, шаблоны могут содержать в себе логику, но лишь при условии, что эта логика необходима для правильного представления данных. Такие задачи, как подключение других шаблонов, чередующаяся окраска строчек в таблице, приведение букв к верхнему регистру, циклический проход по массиву для его отображения и т.д. — всё это примеры логики представления.

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

Если необходимо, чтобы в шаблоне вообще не должно быть логики, можно ограничиться использованием чистого текста и переменных.

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

Особенности Smarty:

  • Высокая скорость работы.
  • Он эффективен, так как обработчик PHP делает за него основную работу.
  • Никакой лишней обработки шаблонов, они компилируются только один раз.
  • Перекомпилируются только те шаблоны, которые изменились.
  • Изм .
    Лист
    №докум .
    Подпись
    Дата
    Лист
     
    ПГУ 1.09.03.01.13.001 ПЗ  
    Можно легко создавать собственные пользовательские функции и модификаторы переменных, что делает язык шаблонов чрезвычайно расширяемым.
  • Настраиваемые {разделители} тэгов шаблона, то есть можно использовать {$foo}, {{$foo}}, <!--{$foo}--> и т.д.
  • Конструкции {if}..{elseif}..{else}..{/if} передаются обработчику PHP, так что синтаксис выражения {if...} может быть настолько простым или сложным, насколько вам угодно.

 

 

  • Изм .
    Лист
    №докум .
    Подпись
    Дата
    Лист
     
    ПГУ 1.09.03.01.13.001 ПЗ  
    Допустимо неограниченное вложение секций, условий и т.д.
  • Существует возможность включения PHP-кода прямо в шаблон, однако обычно в этом нет необходимости (и это не рекомендуется), так как движок весьма гибок и расширяем.
  • Встроенный механизм кэширования.
  • Произвольные источники шаблонов.
  • Пользовательские функции кэширования.
  • Компонентная архитектура.

 

 

4

Изм.
Лист
№ докум.
Подп.
Дата
Лист
 
ПГУ 1.09.03.01.13.001 ПЗ  
Разраб.
Исляев Р.С.
Пров.
Заварзин С.Г.
 
 
Н. Контр.
Заварзин С.Г. чин А.В.
Утв. в д.
Пащенко Д.В.  
Программное обеспечение автоматизированной системы управления документамипредприятия. Пояснительная записка
Литер
Листов
 
ФВТ гр. 11ВВ1  
ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММЫ







Дата добавления: 2015-08-30; просмотров: 526. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия