You are here

public static function CacheableMetadata::createFromRenderArray in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Cache/CacheableMetadata.php \Drupal\Core\Cache\CacheableMetadata::createFromRenderArray()
  2. 9 core/lib/Drupal/Core/Cache/CacheableMetadata.php \Drupal\Core\Cache\CacheableMetadata::createFromRenderArray()

Creates a CacheableMetadata object with values taken from a render array.

Parameters

array $build: A render array.

Return value

static

25 calls to CacheableMetadata::createFromRenderArray()
BlockComponentRenderArray::onBuildRender in core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
Builds render arrays for block plugins and sets it on the event.
BlockPageVariant::build in core/modules/block/src/Plugin/DisplayVariant/BlockPageVariant.php
BlockViewBuilder::preRender in core/modules/block/src/BlockViewBuilder.php
#pre_render callback for building a block.
CacheableMetadataTest::testCreateFromRenderArray in core/tests/Drupal/Tests/Core/Cache/CacheableMetadataTest.php
@covers ::createFromRenderArray @dataProvider providerTestCreateFromRenderArray
content_translation_page_attachments in core/modules/content_translation/content_translation.module
Implements hook_page_attachments().

... See full list

File

core/lib/Drupal/Core/Cache/CacheableMetadata.php, line 149

Class

CacheableMetadata
Defines a generic class for passing cacheability metadata.

Namespace

Drupal\Core\Cache

Code

public static function createFromRenderArray(array $build) {
  $meta = new static();
  $meta->cacheContexts = isset($build['#cache']['contexts']) ? $build['#cache']['contexts'] : [];
  $meta->cacheTags = isset($build['#cache']['tags']) ? $build['#cache']['tags'] : [];
  $meta->cacheMaxAge = isset($build['#cache']['max-age']) ? $build['#cache']['max-age'] : Cache::PERMANENT;
  return $meta;
}