You are here

public function ContextAwarePluginTrait::getCacheContexts in Drupal 10

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Plugin/ContextAwarePluginTrait.php \Drupal\Core\Plugin\ContextAwarePluginTrait::getCacheContexts()
1 method overrides ContextAwarePluginTrait::getCacheContexts()
TestCacheBlock::getCacheContexts in core/modules/block/tests/modules/block_test/src/Plugin/Block/TestCacheBlock.php

File

core/lib/Drupal/Core/Plugin/ContextAwarePluginTrait.php, line 171

Class

ContextAwarePluginTrait
Provides a trait to add context-aware functionality to plugins.

Namespace

Drupal\Core\Plugin

Code

public function getCacheContexts() {
  $cache_contexts = [];

  // Applied contexts can affect the cache contexts when this plugin is
  // involved in caching, collect and return them.
  foreach ($this
    ->getContexts() as $context) {

    /** @var \Drupal\Core\Cache\CacheableDependencyInterface $context */
    if ($context instanceof CacheableDependencyInterface) {
      $cache_contexts = Cache::mergeContexts($cache_contexts, $context
        ->getCacheContexts());
    }
  }
  return $cache_contexts;
}