You are here

public function UserRole::getCacheContexts in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/user/src/Plugin/Condition/UserRole.php \Drupal\user\Plugin\Condition\UserRole::getCacheContexts()
  2. 10 core/modules/user/src/Plugin/Condition/UserRole.php \Drupal\user\Plugin\Condition\UserRole::getCacheContexts()

The cache contexts associated with this object.

These identify a specific variation/representation of the object.

Cache contexts are tokens: placeholders that are converted to cache keys by the @cache_contexts_manager service. The replacement value depends on the request context (the current URL, language, and so on). They're converted before storing an object in cache.

Return value

string[] An array of cache context tokens, used to generate a cache ID.

Overrides ContextAwarePluginBase::getCacheContexts

See also

\Drupal\Core\Cache\Context\CacheContextsManager::convertTokensToKeys()

File

core/modules/user/src/Plugin/Condition/UserRole.php, line 86

Class

UserRole
Provides a 'User Role' condition.

Namespace

Drupal\user\Plugin\Condition

Code

public function getCacheContexts() {

  // Optimize cache context, if a user cache context is provided, only use
  // user.roles, since that's the only part this condition cares about.
  $contexts = [];
  foreach (parent::getCacheContexts() as $context) {
    $contexts[] = $context == 'user' ? 'user.roles' : $context;
  }
  return $contexts;
}