PageRenderTime 44ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/docs/ru/markdown/Справочник/Core/Template.md

http://github.com/AlephTav/Aleph
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
  1. # Aleph\Core\Template #
  2. ## Общая информация ##
  3. |||
  4. | --- | --- |
  5. | **Наследование** | нет |
  6. | **Дочерние классы** | нет |
  7. | **Интерфейсы** | ArrayAccess |
  8. | **Файл** | lib/Core/Template.php |
  9. **Template** является шаблонизатором фрэймворка и использует PHP в качестве языка шаблонов. Класс предоставляет простой и удобный способ манипулирования переменными шаблонов, а также поддерживает вложенные шаблоны с возможностью кэширования.
  10. Переменные шаблонов могут быть глобальными, т.е. присутствовать во всех шаблонах, и локальными - присутствовать только в том шаблона в котором они определены.
  11. Вы можете обращаться к глобальным переменным посредством интерфейса **ArrayAccess** (а также с помощью соответствующих статических методов), и посредством перегрузки свойств класса к локальным переменным. Следующий пример демонстрирует способы работы с глобальными и локальными переменными шаблонов:
  12. ```php
  13. // Устанавливаем глобальные переменные.
  14. Template::setGlobals(['gv1' => 1, 'gv2' => 2]);
  15. // Начинаем работать с некоторым шаблоном.
  16. $tpl = new Template($template);
  17. // Создаём локальную переменную "foo"
  18. $tpl->foo = 'test';
  19. // Переопределяем глобальную переменную "gv1"
  20. // определяя локальную переменную с таким же именем.
  21. $tpl->gv1 = 2;
  22. // Меняем значение глобальной переменной "gv2".
  23. $tpl['gv2'] = 1;
  24. ```
  25. Как видно из примера приоритет локальной переменной выше чем приоритет глобальной, иными словами если в шаблоне определена локальная переменная имя которой совпадает с именем некоторой глобальной переменной, то при обработке шаблона будет взято именно значение локальной переменной.
  26. ## Общедоступные статические методы ##
  27. ### **getGlobals()**
  28. ```php
  29. public static array getGlobals()
  30. ```
  31. Возвращает массив глобальных переменных шаблонов.
  32. ### **setGlobals()**
  33. ```php
  34. public static void setGlobals(array $globals, boolean $merge = false)
  35. ```
  36. ||||
  37. | --- | --- | --- |
  38. | **$globals** | array | массив глобальных переменных. |
  39. | **$merge** | boolean | если равен TRUE то имеющиеся глобальные переменные будут объеденены с новыми. В противном случае новые переменные полностью заменят существующие. |
  40. Позволяет задать глобальные переменные для шаблонов.
  41. ## Общедоступные нестатические свойства ##
  42. ### **cacheID**
  43. ```php
  44. public string $cacheID
  45. ```
  46. Уникальный идентификатор кэша шаблона. Если идентификатор не установлен, то сам шаблон будет использован в качестве идентификатора своего кэша.
  47. ### **cacheExpire**
  48. ```php
  49. public integer $cacheExpire
  50. ```
  51. Время жизни кэша шаблона в секундах. Если значение меньше или равно нулю (или равно NULL), то шаблон не кэшируется.
  52. ### **cacheGroup**
  53. ```php
  54. public string $cacheGroup
  55. ```
  56. Имя группы кэширования для шаблонов.
  57. ## Общедоступные нестатические методы ##
  58. ### **__construct()**
  59. ```php
  60. public void __construct(string $template = null, integer $expire = 0, string $cacheID = null, Aleph\Cache\Cache $cache = null)
  61. ```
  62. ||||
  63. | --- | --- | --- |
  64. | **$template** | string | строка шаблона или путь к файлу шаблона. |
  65. | **$expire** | integer | время жизни кэша шаблона в секундах. |
  66. | **$cacheID** | string | уникальный идентификатор кэша шаблона. |
  67. | **$cache** | Aleph\Cache\Cache | экземпляр класса кэширования. |
  68. Конструктор класса. Позволяет устанавливать шаблон и включать кэширование для него.
  69. ### **getCache()**
  70. ```php
  71. public Aleph\Cache\Cache getCache()
  72. ```
  73. Возвращает кэширующий объект. Если кэширующий объект не задан, то будет использован стандартный кэширующий объект, возвращаемый методом **Aleph::getCache()**.
  74. ### **setCache()**
  75. ```php
  76. public void setCache(Aleph\Cache\Cache $cache)
  77. ```
  78. ||||
  79. | --- | --- | --- |
  80. | **$cache** | Aleph\Cache\Cache | кэширующий объект. |
  81. Устанавливает кэширующий объект.
  82. ### **isExpired()**
  83. ```php
  84. public boolean isExpired()
  85. ```
  86. Возвращает TRUE, если время жизни кэша истекло или не было установлено (свойство **cacheExpire** равно NULL или 0). Во всех других случаях возвращает FALSE.
  87. ### **getVars()**
  88. ```php
  89. public array getVars()
  90. ```
  91. Возвращает массив локальных переменных шаблона.
  92. ### **setVars()**
  93. ```php
  94. public void setVars(array $variables, boolean $merge = false)
  95. ```
  96. ||||
  97. | --- | --- | --- |
  98. | **$vars** | array | массив локальных переменных шаблона. |
  99. | **$merge** | boolean | если равен TRUE то имеющиеся локальные переменные будут объеденены с новыми. В противном случае новые переменные полностью заменят существующие. |
  100. Устанавливает локальные переменные шаблона.
  101. ### **getTemplate()**
  102. ```php
  103. public string getTemplate()
  104. ```
  105. Возвращает строку шаблона или путь к файлу шаблона.
  106. ### **setTemplate()**
  107. ```php
  108. public void setTemplate(string $template)
  109. ```
  110. ||||
  111. | --- | --- | --- |
  112. | **$template** | string | новый шаблон (строка или путь к файлу). |
  113. Задаёт шаблон для обработки.
  114. ### **offsetGet()**
  115. ```php
  116. public mixed offsetGet(string $name)
  117. ```
  118. ||||
  119. | --- | --- | --- |
  120. | **$name** | string | имя глобальной переменной шаблонов. |
  121. Возвращает значение глобальной переменной шаблонов. Если переменной с таким именем нет, то метод вернёт NULL.
  122. ### **offsetSet()**
  123. ```php
  124. public void offsetSet(string $name, mixed $value)
  125. ```
  126. ||||
  127. | --- | --- | --- |
  128. | **$name** | string | имя глобальной переменной. |
  129. | **$value** | mixed | значение глобальной переменной. |
  130. Устанавливает значение глобальной переменной.
  131. ### **offsetExists()**
  132. ```php
  133. public boolean offsetExists(string $name)
  134. ```
  135. ||||
  136. | --- | --- | --- |
  137. | **$name** | string | имя глобальной переменной. |
  138. Возвращает TRUE если глобальная переменная с таким именем уже существует (т.е. её значение не равно NULL). В противном случае метод вернёт FALSE.
  139. ### **offsetUnset()**
  140. ```php
  141. public void offsetUnset(string $name)
  142. ```
  143. |||
  144. | --- | --- | --- |
  145. | **$name** | string | имя глобальной переменной. |
  146. Удаляет глобальную переменную шаблонов по её имени.
  147. ### **__get()**
  148. ```php
  149. public mixed __get(string $name)
  150. ```
  151. ||||
  152. | --- | --- | --- |
  153. | **$name** | string | имя локальной переменной шаблона. |
  154. Возвращает значение локальной переменной шаблона. Если переменной с таким именем не существует метод вернёт NULL.
  155. ### **__set()**
  156. ```php
  157. public void __set(string $name, mixed $value)
  158. ```
  159. ||||
  160. | --- | --- | --- |
  161. | **$name** | string | имя локальной переменной шаблона. |
  162. | **$value** | mixed | значение локальной переменной шаблона. |
  163. Устанавливает значение локальной переменной шаблона.
  164. ### **__isset()**
  165. ```php
  166. public boolean __isset(string $name)
  167. ```
  168. ||||
  169. | --- | --- | --- |
  170. | **$name** | string | имя локальной переменной шаблона. |
  171. Возвращает TRUE если переменная с таким именем уже существует и её значение не равно NULL. В противном случае метод вернёт FALSE.
  172. ### **__unset()**
  173. ```php
  174. public void __unset(string $name)
  175. ```
  176. ||||
  177. | --- | --- | --- |
  178. | **$name** | string | имя локальной переменной шаблона. |
  179. Удаляет локальную переменную по её имени.
  180. ### **render()**
  181. ```php
  182. public string render()
  183. ```
  184. Обрабатывает шаблон и возвращает результат обработки. Если кэширование шаблона включено и уникальный идентификатор шаблона не задан, то вместо него будет использован md5 хэш шаблона (строки или пути к файлу).
  185. > Если вы часто используете один и тот же шаблон в режиме кэширования, то необходимо явно задавать идентификатор кэша. В противном случае несколько экземпляров шаблона будут иметь общий кэш.
  186. ### **show()**
  187. ```php
  188. public void show()
  189. ```
  190. Обрабатывает шаблон и отправляет результат в выходной буфер.
  191. ### **__toString()**
  192. ```php
  193. public string __toString()
  194. ```
  195. Конвертирует объект **Aleph\Core\Template** в строку. Значением этой строки является обработанный шаблон.
  196. ## Защищённые статические свойства ##
  197. ### **globals**
  198. ```php
  199. protected static array $globals = []
  200. ```
  201. Содержит глобальные переменные шаблонов.
  202. ## Защищённые нестатические свойства ##
  203. ### **cache**
  204. ```php
  205. protected Aleph\Cache\Cache $cache
  206. ```
  207. Кэширующий объект.
  208. ### **vars**
  209. ```php
  210. protected array $vars = []
  211. ```
  212. Локальные переменные шаблона.
  213. ### **template**
  214. ```php
  215. protected string $template
  216. ```
  217. Строка шаблона или путь к файлу шаблона.
  218. ## Защищённые нестатические методы ##
  219. ### **getCacheID()**
  220. ```php
  221. protected mixed getCacheID()
  222. ```
  223. Возвращает уникальный идентификатор кэша шаблона.