PlaceholderGenerator
class PlaceholderGenerator implements PlaceholderGeneratorInterface (View source)
Turns a render array into a placeholder.
Properties
| protected array | $rendererConfig | The renderer configuration array. |
Methods
Constructs a new Placeholder service.
Analyzes whether the given render array can be placeholdered.
Whether the given render array should be automatically placeholdered.
Turns the given element into a placeholder.
Details
__construct(array $renderer_config)
Constructs a new Placeholder service.
bool
canCreatePlaceholder(array $element)
Analyzes whether the given render array can be placeholdered.
bool
shouldAutomaticallyPlaceholder(array $element)
Whether the given render array should be automatically placeholdered.
The render array should be placeholdered if its cacheability either has a cache context with too high cardinality, a cache tag with a too high invalidation rate, or a max-age that is too low. Either of these would make caching ineffective, and thus we choose to placeholder instead.
array
createPlaceholder(array $element)
Turns the given element into a placeholder.
Placeholdering allows us to avoid "poor cacheability contamination": this maps the current render array to one that only has #markup and #attached, and #attached contains a placeholder with this element's prior cacheability metadata. In other words: this placeholder is perfectly cacheable, the placeholder replacement logic effectively cordons off poor cacheability.