class TwigRendererEngine extends AbstractRendererEngine
CACHE_KEY_VAR | The variable in {@link FormView} used as cache key. |
protected | $defaultThemes | from AbstractRendererEngine | |
protected | $themes | from AbstractRendererEngine | |
protected | $useDefaultThemes | from AbstractRendererEngine | |
protected | $resources | from AbstractRendererEngine |
__construct(array $defaultThemes, Environment $environment) Creates a new renderer engine. | ||
setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true) Sets the theme(s) to be used for rendering a view and its children. | from AbstractRendererEngine | |
mixed | getResourceForBlockName(FormView $view, string $blockName) Returns the resource for a block name. | from AbstractRendererEngine |
mixed | getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Returns the resource for a block hierarchy. | from AbstractRendererEngine |
int|bool | getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel) Returns the hierarchy level at which a resource can be found. | from AbstractRendererEngine |
bool | loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName) Loads the cache with the resource for a given block name. | |
string | renderBlock(FormView $view, mixed $resource, string $blockName, array $variables = array()) Renders a block in the given renderer resource. | |
loadResourcesFromTheme(string $cacheKey, mixed $theme) Loads the resources for all blocks in a theme. |
Creates a new renderer engine.
array | $defaultThemes | The default themes. The type of these themes is open to the implementation. |
Environment | $environment |
Sets the theme(s) to be used for rendering a view and its children.
FormView | $view | The view to assign the theme(s) to |
mixed | $themes | The theme(s). The type of these themes is open to the implementation. |
bool | $useDefaultThemes | If true, will use default themes specified in the engine |
Returns the resource for a block name.
The resource is first searched in the themes attached to $view, then in the themes of its parent view and so on, until a resource was found.
The type of the resource is decided by the implementation. The resource is later passed to {@link renderBlock()} by the rendering algorithm.
FormView | $view | the view for determining the used themes. First the themes attached directly to the view with {@link setTheme()} are considered, then the ones of its parent etc |
string | $blockName | The name of the block to render |
mixed | the renderer resource or false, if none was found |
Returns the resource for a block hierarchy.
A block hierarchy is an array which starts with the root of the hierarchy and continues with the child of that root, the child of that child etc. The following is an example for a block hierarchy:
form_widget
text_widget
url_widget
In this example, "url_widget" is the most specific block, while the other blocks are its ancestors in the hierarchy.
The second parameter $hierarchyLevel determines the level of the hierarchy that should be rendered. For example, if $hierarchyLevel is 2 for the above hierarchy, the engine will first look for the block "url_widget", then, if that does not exist, for the block "text_widget" etc.
The type of the resource is decided by the implementation. The resource is later passed to {@link renderBlock()} by the rendering algorithm.
FormView | $view | the view for determining the used themes. First the themes attached directly to the view with {@link setTheme()} are considered, then the ones of its parent etc |
array | $blockNameHierarchy | The block name hierarchy, with the root block at the beginning |
int | $hierarchyLevel | The level in the hierarchy at which to start looking. Level 0 indicates the root block, i.e. the first element of $blockNameHierarchy. |
mixed | The renderer resource or false, if none was found |
Returns the hierarchy level at which a resource can be found.
A block hierarchy is an array which starts with the root of the hierarchy and continues with the child of that root, the child of that child etc. The following is an example for a block hierarchy:
form_widget
text_widget
url_widget
The second parameter $hierarchyLevel determines the level of the hierarchy that should be rendered.
If we call this method with the hierarchy level 2, the engine will first look for a resource for block "url_widget". If such a resource exists, the method returns 2. Otherwise it tries to find a resource for block "text_widget" (at level 1) and, again, returns 1 if a resource was found. The method continues to look for resources until the root level was reached and nothing was found. In this case false is returned.
The type of the resource is decided by the implementation. The resource is later passed to {@link renderBlock()} by the rendering algorithm.
FormView | $view | the view for determining the used themes. First the themes attached directly to the view with {@link setTheme()} are considered, then the ones of its parent etc |
array | $blockNameHierarchy | The block name hierarchy, with the root block at the beginning |
int | $hierarchyLevel | The level in the hierarchy at which to start looking. Level 0 indicates the root block, i.e. the first element of $blockNameHierarchy. |
int|bool | The hierarchy level or false, if no resource was found |
Loads the cache with the resource for a given block name.
This implementation eagerly loads all blocks of the themes assigned to the given view and all of its ancestors views. This is necessary, because Twig receives the list of blocks later. At that point, all blocks must already be loaded, for the case that the function "block()" is used in the Twig template.
string | $cacheKey | The cache key of the form view |
FormView | $view | The form view for finding the applying themes |
string | $blockName | The name of the block to load |
bool | True if the resource could be loaded, false otherwise |
getResourceForBlock() |
Renders a block in the given renderer resource.
The resource can be obtained by calling {@link getResourceForBlock()} or {@link getResourceForBlockHierarchy()}. The type of the resource is decided by the implementation.
FormView | $view | The view to render |
mixed | $resource | The renderer resource |
string | $blockName | The name of the block to render |
array | $variables | The variables to pass to the template |
string | The HTML markup |
Loads the resources for all blocks in a theme.
string | $cacheKey | The cache key for storing the resource |
mixed | $theme | The theme to load the block from. This parameter is passed by reference, because it might be necessary to initialize the theme first. Any changes made to this variable will be kept and be available upon further calls to this method using the same theme. |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Bridge/Twig/Form/TwigRendererEngine.html