You are here

public function ContextAwarePluginTrait::getCacheMaxAge in Drupal 9

Same name and namespace in other branches
  1. 10 core/lib/Drupal/Core/Plugin/ContextAwarePluginTrait.php \Drupal\Core\Plugin\ContextAwarePluginTrait::getCacheMaxAge()
1 call to ContextAwarePluginTrait::getCacheMaxAge()
TestCacheBlock::getCacheMaxAge in core/modules/block/tests/modules/block_test/src/Plugin/Block/TestCacheBlock.php
7 methods override ContextAwarePluginTrait::getCacheMaxAge()
AttachedRenderingBlock::getCacheMaxAge in core/modules/system/tests/modules/render_attached_test/src/Plugin/Block/AttachedRenderingBlock.php
BookNavigationBlock::getCacheMaxAge in core/modules/book/src/Plugin/Block/BookNavigationBlock.php
@todo Make cacheable in https://www.drupal.org/node/2483181
LanguageBlock::getCacheMaxAge in core/modules/language/src/Plugin/Block/LanguageBlock.php
@todo Make cacheable in https://www.drupal.org/node/2232375.
RedirectFormBlock::getCacheMaxAge in core/modules/system/tests/modules/form_test/src/Plugin/Block/RedirectFormBlock.php
@todo Make cacheable once https://www.drupal.org/node/2351015 lands.
SystemMessagesBlock::getCacheMaxAge in core/modules/system/src/Plugin/Block/SystemMessagesBlock.php
The maximum age for which this object may be cached.

... See full list

File

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

Class

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

Namespace

Drupal\Core\Plugin

Code

public function getCacheMaxAge() {
  $max_age = Cache::PERMANENT;

  // Applied contexts can affect the cache max age 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) {
      $max_age = Cache::mergeMaxAges($max_age, $context
        ->getCacheMaxAge());
    }
  }
  return $max_age;
}