Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RefinableCacheableDependencyInterface.php

interface RefinableCacheableDependencyInterface

Allows to add cacheability metadata to an object for the current runtime.

This must be used when changing an object in a way that affects its cacheability. For example, when changing the active translation of an entity based on the current content language then a cache context for that must be added.

Hierarchy

  • interface \Drupal\Core\Cache\CacheableDependencyInterface
    • interface \Drupal\Core\Cache\RefinableCacheableDependencyInterface extends \Drupal\Core\Cache\CacheableDependencyInterface

Expanded class hierarchy of RefinableCacheableDependencyInterface

All classes that implement RefinableCacheableDependencyInterface

21 files declare their use of RefinableCacheableDependencyInterface
AccessResult.php in core/lib/Drupal/Core/Access/AccessResult.php
Breadcrumb.php in core/lib/Drupal/Core/Breadcrumb/Breadcrumb.php
ConfigBase.php in core/lib/Drupal/Core/Config/ConfigBase.php
CustomPageExceptionHtmlSubscriber.php in core/lib/Drupal/Core/EventSubscriber/CustomPageExceptionHtmlSubscriber.php
DefaultsSectionStorage.php in core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php

... See full list

File

core/lib/Drupal/Core/Cache/RefinableCacheableDependencyInterface.php, line 13

Namespace

Drupal\Core\Cache
View source
interface RefinableCacheableDependencyInterface extends CacheableDependencyInterface {
    
    /**
     * Adds cache contexts.
     *
     * @param string[] $cache_contexts
     *   The cache contexts to be added.
     *
     * @return $this
     */
    public function addCacheContexts(array $cache_contexts);
    
    /**
     * Adds cache tags.
     *
     * @param string[] $cache_tags
     *   The cache tags to be added.
     *
     * @return $this
     */
    public function addCacheTags(array $cache_tags);
    
    /**
     * Merges the maximum age (in seconds) with the existing maximum age.
     *
     * The max age will be set to the given value if it is lower than the existing
     * value.
     *
     * @param int $max_age
     *   The max age to associate.
     *
     * @return $this
     *
     * @throws \InvalidArgumentException
     *   Thrown if a non-integer value is supplied.
     */
    public function mergeCacheMaxAge($max_age);
    
    /**
     * Adds a dependency on an object: merges its cacheability metadata.
     *
     * @param \Drupal\Core\Cache\CacheableDependencyInterface|object $other_object
     *   The dependency. If the object implements CacheableDependencyInterface,
     *   then its cacheability metadata will be used. Otherwise, the passed in
     *   object must be assumed to be uncacheable, so max-age 0 is set.
     *
     * @return $this
     *
     * @see \Drupal\Core\Cache\CacheableMetadata::createFromObject()
     */
    public function addCacheableDependency($other_object);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 30
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 30
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 23
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal