/docs/ru/markdown/Справочник/Core/Template.md
Markdown | 340 lines | 223 code | 117 blank | 0 comment | 0 complexity | 7b1068e54759f9b0624074983b9932e3 MD5 | raw file
Possible License(s): LGPL-2.1, MPL-2.0-no-copyleft-exception
- # Aleph\Core\Template #
- ## Общая информация ##
- |||
- | --- | --- |
- | **Наследование** | нет |
- | **Дочерние классы** | нет |
- | **Интерфейсы** | ArrayAccess |
- | **Файл** | lib/Core/Template.php |
- **Template** является шаблонизатором фрэймворка и использует PHP в качестве языка шаблонов. Класс предоставляет простой и удобный способ манипулирования переменными шаблонов, а также поддерживает вложенные шаблоны с возможностью кэширования.
- Переменные шаблонов могут быть глобальными, т.е. присутствовать во всех шаблонах, и локальными - присутствовать только в том шаблона в котором они определены.
- Вы можете обращаться к глобальным переменным посредством интерфейса **ArrayAccess** (а также с помощью соответствующих статических методов), и посредством перегрузки свойств класса к локальным переменным. Следующий пример демонстрирует способы работы с глобальными и локальными переменными шаблонов:
- ```php
- // Устанавливаем глобальные переменные.
- Template::setGlobals(['gv1' => 1, 'gv2' => 2]);
- // Начинаем работать с некоторым шаблоном.
- $tpl = new Template($template);
- // Создаём локальную переменную "foo"
- $tpl->foo = 'test';
- // Переопределяем глобальную переменную "gv1"
- // определяя локальную переменную с таким же именем.
- $tpl->gv1 = 2;
- // Меняем значение глобальной переменной "gv2".
- $tpl['gv2'] = 1;
- ```
- Как видно из примера приоритет локальной переменной выше чем приоритет глобальной, иными словами если в шаблоне определена локальная переменная имя которой совпадает с именем некоторой глобальной переменной, то при обработке шаблона будет взято именно значение локальной переменной.
- ## Общедоступные статические методы ##
- ### **getGlobals()**
- ```php
- public static array getGlobals()
- ```
- Возвращает массив глобальных переменных шаблонов.
- ### **setGlobals()**
- ```php
- public static void setGlobals(array $globals, boolean $merge = false)
- ```
- ||||
- | --- | --- | --- |
- | **$globals** | array | массив глобальных переменных. |
- | **$merge** | boolean | если равен TRUE то имеющиеся глобальные переменные будут объеденены с новыми. В противном случае новые переменные полностью заменят существующие. |
- Позволяет задать глобальные переменные для шаблонов.
- ## Общедоступные нестатические свойства ##
- ### **cacheID**
- ```php
- public string $cacheID
- ```
- Уникальный идентификатор кэша шаблона. Если идентификатор не установлен, то сам шаблон будет использован в качестве идентификатора своего кэша.
- ### **cacheExpire**
- ```php
- public integer $cacheExpire
- ```
- Время жизни кэша шаблона в секундах. Если значение меньше или равно нулю (или равно NULL), то шаблон не кэшируется.
- ### **cacheGroup**
- ```php
- public string $cacheGroup
- ```
- Имя группы кэширования для шаблонов.
- ## Общедоступные нестатические методы ##
- ### **__construct()**
- ```php
- public void __construct(string $template = null, integer $expire = 0, string $cacheID = null, Aleph\Cache\Cache $cache = null)
- ```
- ||||
- | --- | --- | --- |
- | **$template** | string | строка шаблона или путь к файлу шаблона. |
- | **$expire** | integer | время жизни кэша шаблона в секундах. |
- | **$cacheID** | string | уникальный идентификатор кэша шаблона. |
- | **$cache** | Aleph\Cache\Cache | экземпляр класса кэширования. |
- Конструктор класса. Позволяет устанавливать шаблон и включать кэширование для него.
- ### **getCache()**
- ```php
- public Aleph\Cache\Cache getCache()
- ```
- Возвращает кэширующий объект. Если кэширующий объект не задан, то будет использован стандартный кэширующий объект, возвращаемый методом **Aleph::getCache()**.
- ### **setCache()**
- ```php
- public void setCache(Aleph\Cache\Cache $cache)
- ```
- ||||
- | --- | --- | --- |
- | **$cache** | Aleph\Cache\Cache | кэширующий объект. |
- Устанавливает кэширующий объект.
- ### **isExpired()**
- ```php
- public boolean isExpired()
- ```
- Возвращает TRUE, если время жизни кэша истекло или не было установлено (свойство **cacheExpire** равно NULL или 0). Во всех других случаях возвращает FALSE.
- ### **getVars()**
- ```php
- public array getVars()
- ```
- Возвращает массив локальных переменных шаблона.
- ### **setVars()**
- ```php
- public void setVars(array $variables, boolean $merge = false)
- ```
- ||||
- | --- | --- | --- |
- | **$vars** | array | массив локальных переменных шаблона. |
- | **$merge** | boolean | если равен TRUE то имеющиеся локальные переменные будут объеденены с новыми. В противном случае новые переменные полностью заменят существующие. |
- Устанавливает локальные переменные шаблона.
- ### **getTemplate()**
- ```php
- public string getTemplate()
- ```
- Возвращает строку шаблона или путь к файлу шаблона.
- ### **setTemplate()**
- ```php
- public void setTemplate(string $template)
- ```
- ||||
- | --- | --- | --- |
- | **$template** | string | новый шаблон (строка или путь к файлу). |
- Задаёт шаблон для обработки.
- ### **offsetGet()**
- ```php
- public mixed offsetGet(string $name)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя глобальной переменной шаблонов. |
- Возвращает значение глобальной переменной шаблонов. Если переменной с таким именем нет, то метод вернёт NULL.
- ### **offsetSet()**
- ```php
- public void offsetSet(string $name, mixed $value)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя глобальной переменной. |
- | **$value** | mixed | значение глобальной переменной. |
- Устанавливает значение глобальной переменной.
- ### **offsetExists()**
- ```php
- public boolean offsetExists(string $name)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя глобальной переменной. |
- Возвращает TRUE если глобальная переменная с таким именем уже существует (т.е. её значение не равно NULL). В противном случае метод вернёт FALSE.
- ### **offsetUnset()**
- ```php
- public void offsetUnset(string $name)
- ```
- |||
- | --- | --- | --- |
- | **$name** | string | имя глобальной переменной. |
- Удаляет глобальную переменную шаблонов по её имени.
- ### **__get()**
- ```php
- public mixed __get(string $name)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя локальной переменной шаблона. |
- Возвращает значение локальной переменной шаблона. Если переменной с таким именем не существует метод вернёт NULL.
- ### **__set()**
- ```php
- public void __set(string $name, mixed $value)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя локальной переменной шаблона. |
- | **$value** | mixed | значение локальной переменной шаблона. |
- Устанавливает значение локальной переменной шаблона.
- ### **__isset()**
- ```php
- public boolean __isset(string $name)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя локальной переменной шаблона. |
- Возвращает TRUE если переменная с таким именем уже существует и её значение не равно NULL. В противном случае метод вернёт FALSE.
- ### **__unset()**
- ```php
- public void __unset(string $name)
- ```
- ||||
- | --- | --- | --- |
- | **$name** | string | имя локальной переменной шаблона. |
- Удаляет локальную переменную по её имени.
- ### **render()**
- ```php
- public string render()
- ```
- Обрабатывает шаблон и возвращает результат обработки. Если кэширование шаблона включено и уникальный идентификатор шаблона не задан, то вместо него будет использован md5 хэш шаблона (строки или пути к файлу).
- > Если вы часто используете один и тот же шаблон в режиме кэширования, то необходимо явно задавать идентификатор кэша. В противном случае несколько экземпляров шаблона будут иметь общий кэш.
- ### **show()**
- ```php
- public void show()
- ```
- Обрабатывает шаблон и отправляет результат в выходной буфер.
- ### **__toString()**
- ```php
- public string __toString()
- ```
- Конвертирует объект **Aleph\Core\Template** в строку. Значением этой строки является обработанный шаблон.
- ## Защищённые статические свойства ##
- ### **globals**
- ```php
- protected static array $globals = []
- ```
- Содержит глобальные переменные шаблонов.
- ## Защищённые нестатические свойства ##
- ### **cache**
- ```php
- protected Aleph\Cache\Cache $cache
- ```
- Кэширующий объект.
- ### **vars**
- ```php
- protected array $vars = []
- ```
- Локальные переменные шаблона.
- ### **template**
- ```php
- protected string $template
- ```
- Строка шаблона или путь к файлу шаблона.
- ## Защищённые нестатические методы ##
- ### **getCacheID()**
- ```php
- protected mixed getCacheID()
- ```
- Возвращает уникальный идентификатор кэша шаблона.