TwigRendererEngine
class TwigRendererEngine extends AbstractRendererEngine implements TwigRendererEngineInterface
Постоянные значения
| CACHE_KEY_VAR | Переменная в {@link FormView}, используемая в качестве ключа кэша. |
Методы
| __construct(array $defaultThemes = array()) Создаёт новый движок рендеринга. | из AbstractRendererEngine | |
| 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 |
| setEnvironment(Environment $environment) | ||
| string | renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array()) Отображает блок в заданном ресурсе рендеринга. |
Подробности
__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()}, затем темы родительского вида и т.д. |
| массив | $blockNameHierarchy | Иерархия имён блоков, с корневым блоком в начале. |
| целое число | $hierarchyLevel | Уровень в иерархии, с которого следует начинать поиск. Уровень 0 указывает на корневой блок, т.е. первый элемент $blockNameHierarchy. |
Значение результата
| целое число или логическое значение | Уровень иерархии или ложь, если ресурс не найден |
setEnvironment(Environment $environment)
Параметры
| Environment | $environment |
строка renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array())
Отображает блок в заданном ресурсе рендерера.
Ресурс можно получить, вызвав {@link getResourceForBlock()} или {@link getResourceForBlockHierarchy()}. Тип ресурса определяется реализацией.
Параметры
| FormView | $view | Вид для отображения |
| смешанный тип | $resource | Ресурс рендерера |
| строка | $blockName | Имя блока для отображения |
| массив | $variables | Переменные для передачи в шаблон |
Значение результата
| строка | HTML-разметка |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Bridge/Twig/Form/TwigRendererEngine.html