AbstractRendererEngine
class AbstractRendererEngine implements FormRendererEngineInterface
Стандартная реализация {@link FormRendererEngineInterface}.
Константы
| CACHE_KEY_VAR | Переменная в {@link FormView}, используемая в качестве ключа кэша. |
Методы
| __construct(array $defaultThemes = array()) Создаёт новый движок рендеринга. | ||
| setTheme(FormView $view, mixed $themes) Устанавливает тему(ы) для рендеринга представления и его потомков. | ||
| mixed | getResourceForBlockName(FormView $view, string $blockName) Возвращает ресурс для имени блока. | |
| mixed | getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Возвращает ресурс для иерархии имен блоков. | |
| int|bool | getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Возвращает уровень иерархии, на котором может быть найден ресурс. |
Подробности
__construct(array $defaultThemes = array())
Создаёт новый движок рендеринга.
Параметры
| 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 для вышеупомянутой иерархии, движок сначала ищет блок «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)
Возвращает уровень иерархии, на котором можно найти ресурс.
Иерархия имен блоков — это массив, который начинается с корня иерархии и продолжается потомком этого корня, потомком этого потомка и т.д. Вот пример иерархии блоков:
formwidget
textwidget
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, если не был найден ресурс |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Component/Form/AbstractRendererEngine.html