Spec-Zone.ru › Symfony 4.1

TwigRendererEngine

class TwigRendererEngine extends AbstractRendererEngine

Постоянные значения

CACHE_KEY_VAR

Переменная в {@link FormView}, используемая в качестве ключа кэша.

Свойства

protected $defaultThemes из AbstractRendererEngine
protected $themes из AbstractRendererEngine
protected $useDefaultThemes из AbstractRendererEngine
protected $resources из AbstractRendererEngine

Методы

__construct(array $defaultThemes, Environment $environment)

Создаёт новый движок рендеринга.

setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true)

Устанавливает тему(ы) для рендеринга представления и его дочерних элементов.

из 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
bool loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName)

Загружает кэш с ресурсом для данного имени блока.

string renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array())

Рендерит блок в заданном ресурсе рендеринга.

loadResourcesFromTheme(string $cacheKey, mixed $theme)

Загружает ресурсы для всех блоков в теме.

Детали

__construct(array $defaultThemes, Environment $environment)

Создаёт новый движок рендеринга.

Параметры

массив $defaultThemes Значения по умолчанию для тем. Тип этих тем открыт для реализации.
Environment $environment

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()}, затем темы его родителя и т.д.
массив $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()}, затем темы его родителя и т.д.
массив $blockNameHierarchy Иерархия имён блоков, начиная с корневого блока
int $hierarchyLevel Уровень в иерархии, с которого следует начать поиск. Уровень 0 указывает на корневой блок, т. е. первый элемент $blockNameHierarchy.

Возвращаемое значение

int|bool Уровень иерархии или false, если ресурс не был найден

protected bool loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName)

Загружает кеш с ресурсом для данного имени блока.

Эта реализация загружает все блоки присвоенных темам данного представления и всех его предковых представлений. Это необходимо, потому что Twig получает список блоков позже. В этот момент все блоки должны быть загружены, в случае использования функции «block()» в шаблоне Twig.

Параметры

string $cacheKey Ключ кеша представления формы
FormView $view Представление формы для поиска применяемых тем
string $blockName Имя блока для загрузки

Возвращаемое значение

bool True, если ресурс можно загрузить, в противном случае false

См. также

getResourceForBlock()

string renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array())

Рендерит блок в заданном ресурсе рендеринга.

Ресурс можно получить, вызвав {@link getResourceForBlock()} или {@link getResourceForBlockHierarchy()}. Тип ресурса определяется реализацией.

Параметры

FormView $view Представление для рендеринга
mixed $resource Ресурс рендеринга
string $blockName Имя блока для рендеринга
массив $variables Переменные для передачи в шаблон

Возвращаемое значение

string HTML разметка

protected loadResourcesFromTheme(string $cacheKey, mixed $theme)

Загружает ресурсы для всех блоков в теме.

Параметры

string $cacheKey Ключ кеша для хранения ресурса
mixed $theme Тема для загрузки блока. Этот параметр передаётся по ссылке, так как может потребоваться предварительная инициализация темы. Любые изменения, внесённые в эту переменную, будут сохранены и доступны при последующих вызовах этого метода с той же темой.

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Bridge/Twig/Form/TwigRendererEngine.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API