...

Smarty что за программа

Шаблонизатор Smarty

Smarty это компилирующий обработчик шаблонов для PHP позволяющий отделить логику и HTML-верстку веб-приложения.

Скачать библиотеку и посмотреть документацию можно на https://www.smarty.net/download

Содержание архива smarty-3.1.32.zip переносим в директорию /smarty/ в корень сайта, в index.php подключаем библиотеку и задаем переменные шаблона.

require '/smarty/libs/Smarty.class.php'; $smarty = new Smarty; // Включение кэширования. $smarty->caching = true; // Время жизни кеша в секундах (-1 - включает его навсегда). $smarty->cache_lifetime = 120; // Передача значений в шаблон: $smarty->assign('h1', 'Заголовок H1'); $smarty->assign('text', 'Hello World. '); $smarty->assign('number', 200); // Обычный массив. $smarty->assign( 'array_1', array( 'Понедельник', 'Вторник', 'Среда' ) ); // Ассоциативный массив. $smarty->assign( 'array_2', array( 'item_a' => 'Январь', 'item_b' => 'Февраль', 'item_c' => 'Март' ) ); // Многомерный массив. $smarty->assign( 'array_3', array( array( 'id' => 1, 'name' => 'Весна', ), array( 'id' => 2, 'name' => 'Лето', ), array( 'id' => 3, 'name' => 'Осень', ), ) ); // Вывод шаблона. $smarty->display('index.tpl');

Далее нужно создать директорию /templates/ , а в ней файл шаблона index.tpl .
В шаблонах Smarty применяются следующие конструкции:

Smarty Icon

You may use the Smarty logo according to the trademark notice. For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Chapter 1. Что такое Smarty?
Prev Part I. Приступая к работе Next

Chapter 1. Что такое Smarty?

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

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

Одно из предназначений Smarty — это отделение логики приложения от представления.

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

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

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

  • Он очень быстр.
  • Он эффективен, так как обработчик PHP делает за него грязную работу.
  • Никакой лишней обработки шаблонов, они компилируются только один раз.
  • Перекомпилируются только те шаблоны, которые изменились.
  • Вы можете легко создавать собственные пользовательские функции и модификаторы переменных, что делает язык шаблонов чрезвычайно расширяемым.
  • Настраиваемые тэгов шаблона, то есть вы можете использовать , <> , и т.д.
  • Конструкции …… передаются обработчику PHP, так что синтаксис выражения может быть настолько простым или сложным, насколько вам угодно.
  • Допустимо неограниченное вложение секций, условий и т.д.
  • Существует возможность включения PHP-кода прямо в ваш шаблон, однако обычно в этом нет необходимости (и это не рекоммендуется), так как движок весьма гибок и расширяем.
  • Встроенный механизм кэширования.
  • Произвольные источники шаблонов.
  • Пользовательские функции кэширования.
  • Компонентная архитектура.
Prev Up Next
Part I. Приступая к работе Home Chapter 2. Установка

Smarty Icon

You may use the Smarty logo according to the trademark notice. For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Chapter 1. Что такое Smarty?
Prev Part I. Приступая к работе Next

Chapter 1. Что такое Smarty?

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

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

Одно из предназначений Smarty — это отделение логики приложения от представления.

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

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

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

  • Он очень быстр.
  • Он эффективен, так как обработчик PHP делает за него грязную работу.
  • Никакой лишней обработки шаблонов, они компилируются только один раз.
  • Перекомпилируются только те шаблоны, которые изменились.
  • Вы можете легко создавать собственные пользовательские функции и модификаторы переменных, что делает язык шаблонов чрезвычайно расширяемым.
  • Настраиваемые тэгов шаблона, то есть вы можете использовать , <> , и т.д.
  • Конструкции …… передаются обработчику PHP, так что синтаксис выражения может быть настолько простым или сложным, насколько вам угодно.
  • Допустимо неограниченное вложение секций, условий и т.д.
  • Существует возможность включения PHP-кода прямо в ваш шаблон, однако обычно в этом нет необходимости (и это не рекоммендуется), так как движок весьма гибок и расширяем.
  • Встроенный механизм кэширования.
  • Произвольные источники шаблонов.
  • Пользовательские функции кэширования.
  • Компонентная архитектура.
Prev Up Next
Part I. Приступая к работе Home Chapter 2. Установка

При подготовке материала использовались источники:
https://snipp.ru/php/smarty
https://www.smarty.net/docsv2/ru/what.is.smarty.tpl
https://www.smarty.net/docsv2/ru/what.is.smarty

Оцените статью