AbstractRendererEngine
абстрактный класс AbstractRendererEngine реализует FormRendererEngineInterface
Реализация по умолчанию интерфейса {@link FormRendererEngineInterface}.
Постоянные значения
| CACHE_KEY_VAR | Переменная в {@link FormView}, используемая в качестве ключа кэша. |
Свойства
| protected | $defaultThemes | ||
| protected | $themes | ||
| protected | $useDefaultThemes | ||
| protected | $resources |
Методы
| __construct(array $defaultThemes = array()) Создаёт новый движок рендеринга. | ||
| 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) Возвращает уровень иерархии, на котором можно найти ресурс. | |
| bool | loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName) Загружает кэш с ресурсом для заданного имени блока. |
Подробное описание
__construct(array $defaultThemes = array())
Создаёт новый движок рендеринга.
Параметры
| array | $defaultThemes | Список стандартных тем. Тип этих тем определяется реализацией. |
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, если ресурс не был найден |
abstract protected bool loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName)
Загружает кэш с ресурсом для заданного имени блока.
Параметры
| string | $cacheKey | Ключ кэша представления формы |
| FormView | $view | Представление формы для поиска применимых тем |
| string | $blockName | Имя блока для загрузки |
Возвращаемое значение
| bool | True, если ресурс был загружен, false — в противном случае |
См. также
| getResourceForBlock() |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Form/AbstractRendererEngine.html