You are here

public function NoOptimizeCacheContext::getCacheableMetadata in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php \Drupal\Tests\Core\Cache\Context\NoOptimizeCacheContext::getCacheableMetadata()
  2. 10 core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php \Drupal\Tests\Core\Cache\Context\NoOptimizeCacheContext::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.

Overrides CacheContextInterface::getCacheableMetadata

File

core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php, line 302
Contains \Drupal\Tests\Core\Cache\Context\CacheContextsManagerTest.

Class

NoOptimizeCacheContext
Non-optimizable context class.

Namespace

Drupal\Tests\Core\Cache\Context

Code

public function getCacheableMetadata() {
  $cacheable_metadata = new CacheableMetadata();
  return $cacheable_metadata
    ->setCacheMaxAge(0);
}