You are here

interface CacheableResponseInterface in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Cache/CacheableResponseInterface.php \Drupal\Core\Cache\CacheableResponseInterface
  2. 9 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

23 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