function CacheableMetadata::createFromRenderArray

Same name in other branches
  1. 9 core/lib/Drupal/Core/Cache/CacheableMetadata.php \Drupal\Core\Cache\CacheableMetadata::createFromRenderArray()
  2. 8.9.x core/lib/Drupal/Core/Cache/CacheableMetadata.php \Drupal\Core\Cache\CacheableMetadata::createFromRenderArray()
  3. 10 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

30 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.
BlockContentCacheTagsTest::testBlock in core/modules/block_content/tests/src/Functional/BlockContentCacheTagsTest.php
Tests that the block is cached with the correct contexts and tags.
BlockPageVariant::build in core/modules/block/src/Plugin/DisplayVariant/BlockPageVariant.php
Builds and returns the renderable array for the display variant.
BlockViewBuilderTest::assertBlockRenderedWithExpectedCacheability in core/modules/block/tests/src/Kernel/BlockViewBuilderTest.php
Asserts that a block is built/rendered/cached with expected cacheability.
BlockViewBuilderTest::verifyRenderCacheHandling in core/modules/block/tests/src/Kernel/BlockViewBuilderTest.php
Verifies render cache handling of the block being tested.

... See full list

1 method overrides CacheableMetadata::createFromRenderArray()
BubbleableMetadata::createFromRenderArray in core/lib/Drupal/Core/Render/BubbleableMetadata.php
Creates a bubbleable metadata object with values taken from a render array.

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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.