FormRendererEngineInterface
интерфейс FormRendererEngineInterface
Адаптер для отрисовки шаблонов форм с использованием определенного движка шаблонов.
Методы
| setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true) Устанавливает тему(ы) для использования при отрисовке представления и его дочерних элементов. | ||
| mixed | getResourceForBlockName(FormView $view, string $blockName) Возвращает ресурс для имени блока. | |
| mixed | getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Возвращает ресурс для иерархии блоков. | |
| int|bool | getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Возвращает уровень иерархии, на котором можно найти ресурс. | |
| string | renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array()) Отображает блок в заданном ресурсе рендерера. |
Подробности
setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true)
Устанавливает тему(ы) для использования при отрисовке представления и его дочерних элементов.
Параметры
| FormView | $view | Представление, которому присваивается тема(ы) |
| mixed | $themes | Тема(ы). Тип этих тем открыт для реализации. |
| bool | $useDefaultThemes | Если true, использует темы по умолчанию, определенные в движке |
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)
Возвращает ресурс для иерархии блоков.
Иерархия блоков — это массив, который начинается с корня иерархии и продолжается с дочернего элемента этого корня, дочернего элемента этого дочернего элемента и т. д. Ниже приведен пример иерархии блоков:
form_widget
text_widget
url_widget
В этом примере «url_widget» — это самый конкретный блок, в то время как другие блоки являются его предками в иерархии.
Второй параметр $hierarchyLevel определяет уровень иерархии, который должен быть отрисован. Например, если $hierarchyLevel равен 2 для вышеприведенной иерархии, движок сначала будет искать блок «url_widget», а затем, если он не существует, блок «text_widget» и т. д.
Тип ресурса определяется реализацией. Ресурс позже передается в {@link renderBlock()} алгоритмом рендеринга.
Параметры
| FormView | $view | Представление для определения используемых тем. Сначала рассматриваются темы, прикрепленные непосредственно к представлению с помощью {@link setTheme()}, затем темы его родителя и т. д. |
| array | $blockNameHierarchy | Иерархия имен блоков, начиная с корневого блока |
| int | $hierarchyLevel | Уровень в иерархии, с которого начинается поиск. Уровень 0 указывает корневой блок, т. е. первый элемент $blockNameHierarchy. |
Возвращаемое значение
| mixed | Ресурс рендерера или false, если он не был найден |
int|bool getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel)
Возвращает уровень иерархии, на котором можно найти ресурс.
Иерархия блоков — это массив, который начинается с корня иерархии и продолжается с дочернего элемента этого корня, дочернего элемента этого дочернего элемента и т. д. Ниже приведен пример иерархии блоков:
form_widget
text_widget
url_widget
Второй параметр $hierarchyLevel определяет уровень иерархии, который должен быть отрисован.
Если мы вызываем этот метод с уровнем иерархии 2, движок сначала будет искать ресурс для блока «url_widget». Если такой ресурс существует, метод возвращает 2. В противном случае он пытается найти ресурс для блока «text_widget» (на уровне 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.
https://api.symfony.com/4.1/Symfony/Component/Form/FormRendererEngineInterface.html