You are here

class PathCacheContext in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Cache/Context/PathCacheContext.php \Drupal\Core\Cache\Context\PathCacheContext

Defines the PathCacheContext service, for "per URL path" caching.

Cache context ID: 'url.path'.

(This allows for caching relative URLs.)

Hierarchy

Expanded class hierarchy of PathCacheContext

See also

\Symfony\Component\HttpFoundation\Request::getBasePath()

\Symfony\Component\HttpFoundation\Request::getPathInfo()

1 string reference to 'PathCacheContext'
core.services.yml in core/core.services.yml
core/core.services.yml
1 service uses PathCacheContext
cache_context.url.path in core/core.services.yml
Drupal\Core\Cache\Context\PathCacheContext

File

core/lib/Drupal/Core/Cache/Context/PathCacheContext.php, line 17

Namespace

Drupal\Core\Cache\Context
View source
class PathCacheContext extends RequestStackCacheContextBase implements CacheContextInterface {

  /**
   * {@inheritdoc}
   */
  public static function getLabel() {
    return t('Path');
  }

  /**
   * {@inheritdoc}
   */
  public function getContext() {
    $request = $this->requestStack
      ->getCurrentRequest();
    return $request
      ->getBasePath() . $request
      ->getPathInfo();
  }

  /**
   * {@inheritdoc}
   */
  public function getCacheableMetadata() {
    return new CacheableMetadata();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PathCacheContext::getCacheableMetadata public function Gets the cacheability metadata for the context. Overrides CacheContextInterface::getCacheableMetadata
PathCacheContext::getContext public function Returns the string representation of the cache context. Overrides CacheContextInterface::getContext
PathCacheContext::getLabel public static function Returns the label of the cache context. Overrides CacheContextInterface::getLabel
RequestStackCacheContextBase::$requestStack protected property The request stack.
RequestStackCacheContextBase::__construct public function Constructs a new RequestStackCacheContextBase class.