function CacheContextInterface::getCacheableMetadata

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Cache/Context/CacheContextInterface.php \Drupal\Core\Cache\Context\CacheContextInterface::getCacheableMetadata()
  2. 10 core/lib/Drupal/Core/Cache/Context/CacheContextInterface.php \Drupal\Core\Cache\Context\CacheContextInterface::getCacheableMetadata()
  3. 9 core/lib/Drupal/Core/Cache/Context/CacheContextInterface.php \Drupal\Core\Cache\Context\CacheContextInterface::getCacheableMetadata()
  4. 8.9.x core/lib/Drupal/Core/Cache/Context/CacheContextInterface.php \Drupal\Core\Cache\Context\CacheContextInterface::getCacheableMetadata()

Gets the cacheability metadata for the context.

There are three valid cases for the returned CacheableMetadata object:

  • An empty object means this can be optimized away safely.
  • A max-age of 0 means that this context can never be optimized away. It will never bubble up and cache tags will not be used.
  • Any non-zero max-age and cache tags will bubble up into the cache item if this is optimized away to allow for invalidation if the context value changes.

Return value

\Drupal\Core\Cache\CacheableMetadata A cacheable metadata object.

5 methods override CacheContextInterface::getCacheableMetadata()
ConfigOverrideIntegrationTestCacheContext::getCacheableMetadata in core/modules/config/tests/config_override_integration_test/src/Cache/ConfigOverrideIntegrationTestCacheContext.php
Gets the cacheability metadata for the context.
EntityTestViewGrantsCacheContext::getCacheableMetadata in core/modules/system/tests/modules/entity_test/src/Cache/EntityTestViewGrantsCacheContext.php
Gets the cacheability metadata for the context.
PirateDayCacheContext::getCacheableMetadata in core/modules/config/tests/config_override_test/src/Cache/PirateDayCacheContext.php
Gets the cacheability metadata for the context.
ViewsTestCacheContext::getCacheableMetadata in core/modules/views/tests/modules/views_test_data/src/Cache/ViewsTestCacheContext.php
Gets the cacheability metadata for the context.
WorkspaceCacheContext::getCacheableMetadata in core/modules/workspaces/src/WorkspaceCacheContext.php
Gets the cacheability metadata for the context.

File

core/lib/Drupal/Core/Cache/Context/CacheContextInterface.php, line 43

Class

CacheContextInterface
Provides an interface for defining a cache context service.

Namespace

Drupal\Core\Cache\Context

Code

public function getCacheableMetadata();

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