You are here

interface CacheableResponseInterface in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 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

14 files declare their use of CacheableResponseInterface
AnonymousUserResponseSubscriber.php in core/lib/Drupal/Core/EventSubscriber/AnonymousUserResponseSubscriber.php
Contains \Drupal\Core\EventSubscriber\AnonymousUserResponseSubscriber.
CacheableSecuredRedirectResponse.php in core/lib/Drupal/Core/Routing/CacheableSecuredRedirectResponse.php
Contains \Drupal\Core\Routing\CacheableSecuredRedirectResponse.
CacheableTestResponse.php in core/modules/system/tests/modules/early_rendering_controller_test/src/CacheableTestResponse.php
Contains \Drupal\early_rendering_controller_test\CacheableTestResponse.
ClientErrorResponseSubscriber.php in core/lib/Drupal/Core/EventSubscriber/ClientErrorResponseSubscriber.php
Contains \Drupal\Core\EventSubscriber\ClientErrorResponseSubscriber.
CommentController.php in core/modules/comment/src/Controller/CommentController.php
Contains \Drupal\comment\Controller\CommentController.

... See full list

File

core/lib/Drupal/Core/Cache/CacheableResponseInterface.php, line 15
Contains \Drupal\Core\Cache\CacheableResponseInterface.

Namespace

Drupal\Core\Cache
View source
interface CacheableResponseInterface {

  /**
   * Adds a dependency on an object: merges its cacheability metadata.
   *
   * E.g. 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

Namesort descending Modifiers Type Description Overrides
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.