public function Renderer::addCacheableDependency

public Renderer::addCacheableDependency(array &$elements, $dependency)

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()

File

core/lib/Drupal/Core/Render/Renderer.php, line 659

Class

Renderer
Turns a render array into a HTML string.

Namespace

Drupal\Core\Render

Code

public function addCacheableDependency(array &$elements, $dependency) {
  $meta_a = CacheableMetadata::createFromRenderArray($elements);
  $meta_b = CacheableMetadata::createFromObject($dependency);
  $meta_a->merge($meta_b)->applyTo($elements);
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Render!Renderer.php/function/Renderer::addCacheableDependency/8.1.x