AbstractRendererEngine
abstract class AbstractRendererEngine implements FormRendererEngineInterface
Default implementation of {@link FormRendererEngineInterface}.
Constants
CACHE_KEY_VAR |
The variable in {@link FormView} used as cache key. |
Properties
protected | $defaultThemes | ||
protected | $themes | ||
protected | $useDefaultThemes | ||
protected | $resources |
Methods
Creates a new renderer engine.
Returns the resource for a block hierarchy.
Returns the hierarchy level at which a resource can be found.
Loads the cache with the resource for a given block name.
Details
setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true)
Sets the theme(s) to be used for rendering a view and its children.
mixed
getResourceForBlockName(FormView $view, string $blockName)
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.
mixed
getResourceForBlockNameHierarchy(FormView $view, array $blockNameHierarchy, int $hierarchyLevel)
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.
int|bool
getResourceHierarchyLevel(FormView $view, array $blockNameHierarchy, int $hierarchyLevel)
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.
abstract protected bool
loadResourceForBlockName(string $cacheKey, FormView $view, string $blockName)
Loads the cache with the resource for a given block name.