TemplatingRendererEngine
class TemplatingRendererEngine extends AbstractRendererEngine
Константы
| CACHE_KEY_VAR | Переменная в {@link FormView}, используемая в качестве ключа кэша. |
Методы
| __construct(EngineInterface $engine, array $defaultThemes = array()) Создаёт новый движок рендеринга. | ||
| setTheme(FormView $view, $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, $themes)
Устанавливает тему(ы) для рендеринга представления и его дочерних элементов.
Параметры
| FormView | $view | |
| $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/4.0/Symfony/Component/Form/Extension/Templating/TemplatingRendererEngine.html