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/2.7/Symfony/Component/Form/Extension/Templating/TemplatingRendererEngine.html