class SessionExistsCacheContext
Defines the SessionExistsCacheContext service, for "session or not" caching.
Cache context ID: 'session.exists'.
Hierarchy
- class \Drupal\Core\Cache\Context\SessionExistsCacheContext implements \Drupal\Core\Cache\Context\CacheContextInterface
 
Expanded class hierarchy of SessionExistsCacheContext
1 string reference to 'SessionExistsCacheContext'
- core.services.yml in core/
core.services.yml  - core/core.services.yml
 
1 service uses SessionExistsCacheContext
File
- 
              core/
lib/ Drupal/ Core/ Cache/ Context/ SessionExistsCacheContext.php, line 14  
Namespace
Drupal\Core\Cache\ContextView source
class SessionExistsCacheContext implements CacheContextInterface {
  
  /**
   * The session configuration.
   *
   * @var \Drupal\Core\Session\SessionConfigurationInterface
   */
  protected $sessionConfiguration;
  
  /**
   * The request stack.
   *
   * @var \Symfony\Component\HttpFoundation\RequestStack
   */
  protected $requestStack;
  
  /**
   * Constructs a new SessionExistsCacheContext class.
   *
   * @param \Drupal\Core\Session\SessionConfigurationInterface $session_configuration
   *   The session configuration.
   * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
   *   The request stack.
   */
  public function __construct(SessionConfigurationInterface $session_configuration, RequestStack $request_stack) {
    $this->sessionConfiguration = $session_configuration;
    $this->requestStack = $request_stack;
  }
  
  /**
   * {@inheritdoc}
   */
  public static function getLabel() {
    return t('Session exists');
  }
  
  /**
   * {@inheritdoc}
   */
  public function getContext() {
    return $this->sessionConfiguration
      ->hasSession($this->requestStack
      ->getCurrentRequest()) ? '1' : '0';
  }
  
  /**
   * {@inheritdoc}
   */
  public function getCacheableMetadata() {
    return new CacheableMetadata();
  }
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | 
|---|---|---|---|---|
| SessionExistsCacheContext::$requestStack | protected | property | The request stack. | |
| SessionExistsCacheContext::$sessionConfiguration | protected | property | The session configuration. | |
| SessionExistsCacheContext::getCacheableMetadata | public | function | Gets the cacheability metadata for the context. | Overrides CacheContextInterface::getCacheableMetadata | 
| SessionExistsCacheContext::getContext | public | function | Returns the string representation of the cache context. | Overrides CacheContextInterface::getContext | 
| SessionExistsCacheContext::getLabel | public static | function | Returns the label of the cache context. | Overrides CacheContextInterface::getLabel | 
| SessionExistsCacheContext::__construct | public | function | Constructs a new SessionExistsCacheContext class. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.