public function Renderer::addCacheableDependency in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::addCacheableDependency()
- 10 core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::addCacheableDependency()
Adds a dependency on an object: merges its cacheability metadata.
For instance, when a render array depends on some configuration, an entity, or an access result, we must make sure their cacheability metadata is present on the render array. This method makes doing that simple.
Parameters
array &$elements: The render array to update.
\Drupal\Core\Cache\CacheableDependencyInterface|mixed $dependency: The dependency. If the object implements CacheableDependencyInterface, then its cacheability metadata will be used. Otherwise, the passed in object must be assumed to be uncacheable, so max-age 0 is set.
Overrides RendererInterface::addCacheableDependency
See also
\Drupal\Core\Cache\CacheableMetadata::createFromObject()
1 call to Renderer::addCacheableDependency()
- Renderer::doRender in core/
lib/ Drupal/ Core/ Render/ Renderer.php - See the docs for ::render().
File
- core/
lib/ Drupal/ Core/ Render/ Renderer.php, line 688
Class
- Renderer
- Turns a render array into an HTML string.
Namespace
Drupal\Core\RenderCode
public function addCacheableDependency(array &$elements, $dependency) {
$meta_a = CacheableMetadata::createFromRenderArray($elements);
$meta_b = CacheableMetadata::createFromObject($dependency);
$meta_a
->merge($meta_b)
->applyTo($elements);
}