Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Render\PlaceholderGeneratorInterface. | |
*/ | |
namespace Drupal\Core\Render; | |
/** | |
* Defines an interface for turning a render array into a placeholder. | |
* | |
* This encapsulates logic related to generating placeholders. | |
* | |
* Makes it possible to determine whether a render array can be placeholdered | |
* (it can be reconstructed independently of the request context), whether a | |
* render array should be placeholdered (its cacheability meets the conditions), | |
* and to create a placeholder. | |
* | |
* @see \Drupal\Core\Render\RendererInterface | |
*/ | |
interface PlaceholderGeneratorInterface { | |
/** | |
* Analyzes whether the given render array can be placeholdered. | |
* | |
* @param array $element | |
* A render array. Its #lazy_builder and #create_placeholder properties are | |
* analyzed. | |
* | |
* @return bool | |
*/ | |
public function canCreatePlaceholder(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. | |
* | |
* @param array $element | |
* The render array whose cacheability to analyze. | |
* | |
* @return bool | |
* Whether the given render array's cacheability meets the placeholdering | |
* conditions. | |
*/ | |
public function shouldAutomaticallyPlaceholder(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. | |
* | |
* @param array $element | |
* The render array to create a placeholder for. | |
* | |
* @return array | |
* Render array with placeholder markup and the attached placeholder | |
* replacement metadata. | |
*/ | |
public function createPlaceholder(array $element); | |
} |