class MenuActiveTrailsCacheContext in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php \Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext
Defines the MenuActiveTrailsCacheContext service.
This class is container-aware to avoid initializing the 'menu.active_trails' service (and its dependencies) when it is not necessary.
Hierarchy
- class \Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext implements \Symfony\Component\DependencyInjection\ContainerAwareInterface, CalculatedCacheContextInterface uses \Symfony\Component\DependencyInjection\ContainerAwareTrait
Expanded class hierarchy of MenuActiveTrailsCacheContext
1 string reference to 'MenuActiveTrailsCacheContext'
- core.services.yml in core/core.services.yml 
- core/core.services.yml
1 service uses MenuActiveTrailsCacheContext
File
- core/lib/ Drupal/ Core/ Cache/ Context/ MenuActiveTrailsCacheContext.php, line 15 
Namespace
Drupal\Core\Cache\ContextView source
class MenuActiveTrailsCacheContext implements CalculatedCacheContextInterface, ContainerAwareInterface {
  use ContainerAwareTrait;
  /**
   * {@inheritdoc}
   */
  public static function getLabel() {
    return t("Active menu trail");
  }
  /**
   * {@inheritdoc}
   */
  public function getContext($menu_name = NULL) {
    if (!$menu_name) {
      throw new \LogicException('No menu name provided for menu.active_trails cache context.');
    }
    $active_trail = $this->container
      ->get('menu.active_trail')
      ->getActiveTrailIds($menu_name);
    return 'menu_trail.' . $menu_name . '|' . implode('|', $active_trail);
  }
  /**
   * {@inheritdoc}
   */
  public function getCacheableMetadata($menu_name = NULL) {
    if (!$menu_name) {
      throw new \LogicException('No menu name provided for menu.active_trails cache context.');
    }
    $cacheable_metadata = new CacheableMetadata();
    return $cacheable_metadata
      ->setCacheTags([
      "config:system.menu.{$menu_name}",
    ]);
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| MenuActiveTrailsCacheContext:: | public | function | Gets the cacheability metadata for the context based on the parameter value. Overrides CalculatedCacheContextInterface:: | |
| MenuActiveTrailsCacheContext:: | public | function | Returns the string representation of the cache context. Overrides CalculatedCacheContextInterface:: | |
| MenuActiveTrailsCacheContext:: | public static | function | Returns the label of the cache context. Overrides CalculatedCacheContextInterface:: | 
