interface CacheableResponseInterface

Same name in other branches
  1. 9 core/lib/Drupal/Core/Cache/CacheableResponseInterface.php \Drupal\Core\Cache\CacheableResponseInterface
  2. 8.9.x core/lib/Drupal/Core/Cache/CacheableResponseInterface.php \Drupal\Core\Cache\CacheableResponseInterface
  3. 10 core/lib/Drupal/Core/Cache/CacheableResponseInterface.php \Drupal\Core\Cache\CacheableResponseInterface

Defines an interface for responses that can expose cacheability metadata.

Hierarchy

Expanded class hierarchy of CacheableResponseInterface

All classes that implement CacheableResponseInterface

See also

\Drupal\Core\Cache\CacheableResponseTrait

25 files declare their use of CacheableResponseInterface
AnonymousUserResponseSubscriber.php in core/lib/Drupal/Core/EventSubscriber/AnonymousUserResponseSubscriber.php
CacheableResourceResponse.php in core/modules/jsonapi/src/CacheableResourceResponse.php
CacheableSecuredRedirectResponse.php in core/lib/Drupal/Core/Routing/CacheableSecuredRedirectResponse.php
CacheableTestResponse.php in core/modules/system/tests/modules/early_rendering_controller_test/src/CacheableTestResponse.php
ClientErrorResponseSubscriber.php in core/lib/Drupal/Core/EventSubscriber/ClientErrorResponseSubscriber.php

... See full list

File

core/lib/Drupal/Core/Cache/CacheableResponseInterface.php, line 10

Namespace

Drupal\Core\Cache
View source
interface CacheableResponseInterface {
    
    /**
     * Adds a dependency on an object: merges its cacheability metadata.
     *
     * For instance, when a response depends on some configuration, an entity, or
     * an access result, we must make sure their cacheability metadata is present
     * on the response. This method makes doing that simple.
     *
     * @param \Drupal\Core\Cache\CacheableDependencyInterface|mixed $dependency
     *   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($dependency);
    
    /**
     * Returns the cacheability metadata for this response.
     *
     * @return \Drupal\Core\Cache\CacheableMetadata
     */
    public function getCacheableMetadata();

}

Members

Title Sort descending Modifiers Object type Summary
CacheableResponseInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata.
CacheableResponseInterface::getCacheableMetadata public function Returns the cacheability metadata for this response.

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