TemplatingRendererEngine
class TemplatingRendererEngine extends AbstractRendererEngine
Постоянные значения
| CACHE_KEY_VAR | Переменная в {@link FormView}, используемая в качестве ключа кэша. |
Методы
| __construct(EngineInterface $engine, array $defaultThemes = array()) Создаёт новый движок рендеринга. | ||
| setTheme(FormView $view, mixed $themes) Устанавливает тему(ы) для рендеринга представления и его дочерних элементов. | из AbstractRendererEngine | |
| mixed | getResourceForBlockName(FormView $view, string $blockName) Возвращает ресурс для имени блока. | из AbstractRendererEngine |
| mixed | getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Возвращает ресурс для иерархии блоков. | из AbstractRendererEngine |
| int|bool | getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Возвращает уровень иерархии, на котором можно найти ресурс. | из AbstractRendererEngine |
| string | renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array()) Рендерит блок в заданном ресурсе рендеринга. |
Детали
__construct(EngineInterface $engine, array $defaultThemes = array())
Создаёт новый движок рендеринга.
Параметры
| EngineInterface | $engine | |
| array | $defaultThemes | Значения по умолчанию тем. Тип этих тем зависит от реализации. |
setTheme(FormView $view, mixed $themes)
Устанавливает тему(ы) для рендеринга представления и его дочерних элементов.
Параметры
| FormView | $view | Представление, которому будут назначены темы. |
| mixed | $themes | Тема(ы). Тип этих тем зависит от реализации. |
mixed getResourceForBlockName(FormView $view, string $blockName)
Возвращает ресурс для имени блока.
Ресурс сначала ищется в темах, прикреплённых к $view, затем в темах его родительского представления и так далее, пока не будет найден ресурс.
Тип ресурса определяется реализацией. Ресурс позже передаётся в {@link renderBlock()} алгоритмом рендеринга.
Параметры
| FormView | $view | Представление для определения используемых тем. Сначала рассматриваются темы, непосредственно прикреплённые к представлению с помощью {@link setTheme()}, затем темы его родительского и т.д. |
| string | $blockName | Имя блока для рендеринга. |
Возвращаемое значение
| mixed | Ресурс рендеринга или false, если не был найден. |
mixed getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel)
Возвращает ресурс для иерархии блоков.
Иерархия блоков — это массив, который начинается с корня иерархии и продолжается с потомка этого корня, потомка этого потомка и т.д. Пример иерархии блоков:
formwidget
textwidget
url_widget
В этом примере "url_widget" — это наиболее конкретный блок, а другие блоки — его предки в иерархии.
Второй параметр $hierarchyLevel определяет уровень иерархии, который должен быть рендерирован. Например, если $hierarchyLevel равен 2 для указанной иерархии, движок сначала ищет блок "urlwidget", а затем, если он не существует, блок "textwidget" и т.д.
Тип ресурса определяется реализацией. Ресурс позже передаётся в {@link renderBlock()} алгоритмом рендеринга.
Параметры
| FormView | $view | Представление для определения используемых тем. Сначала рассматриваются темы, непосредственно прикреплённые к представлению с помощью {@link setTheme()}, затем темы его родительского и т.д. |
| array | $blockNameHierarchy | Иерархия имён блоков, с корневым блоком в начале. |
| int | $hierarchyLevel | Уровень в иерархии, с которого начинается поиск. Уровень 0 указывает корневой блок, т.е. первый элемент $blockNameHierarchy. |
Возвращаемое значение
| mixed | Ресурс рендеринга или false, если не был найден. |
int|bool getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel)
Возвращает уровень иерархии, на котором можно найти ресурс.
Иерархия блоков — это массив, который начинается с корня иерархии и продолжается с потомка этого корня, потомка этого потомка и т.д. Пример иерархии блоков:
formwidget
textwidget
url_widget
Второй параметр $hierarchyLevel определяет уровень иерархии, который должен быть рендерирован.
Если мы вызываем этот метод с уровнем иерархии 2, движок сначала ищет ресурс для блока "urlwidget". Если такой ресурс существует, метод возвращает 2. В противном случае он пытается найти ресурс для блока "textwidget" (на уровне 1) и, опять же, возвращает 1, если ресурс был найден. Метод продолжает поиск ресурсов, пока не будет достигнут корневой уровень, и ничего не будет найдено. В этом случае возвращается false.
Тип ресурса определяется реализацией. Ресурс позже передаётся в {@link renderBlock()} алгоритмом рендеринга.
Параметры
| FormView | $view | Представление для определения используемых тем. Сначала рассматриваются темы, непосредственно прикреплённые к представлению с помощью {@link setTheme()}, затем темы его родительского и т.д. |
| array | $blockNameHierarchy | Иерархия имён блоков, с корневым блоком в начале. |
| int | $hierarchyLevel | Уровень в иерархии, с которого начинается поиск. Уровень 0 указывает корневой блок, т.е. первый элемент $blockNameHierarchy. |
Возвращаемое значение
| int|bool | Уровень иерархии или false, если ресурс не был найден. |
string renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array())
Рендерит блок в заданном ресурсе рендеринга.
Ресурс можно получить, вызвав {@link getResourceForBlock()} или {@link getResourceForBlockHierarchy()}. Тип ресурса определяется реализацией.
Параметры
| FormView | $view | Представление для рендеринга. |
| mixed | $resource | Ресурс рендеринга. |
| string | $blockName | Имя блока для рендеринга. |
| array | $variables | Переменные для передачи в шаблон. |
Возвращаемое значение
| string | HTML разметка. |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Form/Extension/Templating/TemplatingRendererEngine.html