You are here

class CachedDiscoveryClearer in Drupal 10

Same name in this branch
  1. 10 core/lib/Drupal/Core/Plugin/CachedDiscoveryClearer.php \Drupal\Core\Plugin\CachedDiscoveryClearer
  2. 10 core/lib/Drupal/Core/ProxyClass/Plugin/CachedDiscoveryClearer.php \Drupal\Core\ProxyClass\Plugin\CachedDiscoveryClearer
Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Plugin/CachedDiscoveryClearer.php \Drupal\Core\Plugin\CachedDiscoveryClearer
  2. 9 core/lib/Drupal/Core/Plugin/CachedDiscoveryClearer.php \Drupal\Core\Plugin\CachedDiscoveryClearer

Defines a class which is capable of clearing the cache on plugin managers.

Hierarchy

  • class \Drupal\Core\Plugin\CachedDiscoveryClearer implements \Drupal\Core\Plugin\CachedDiscoveryClearerInterface

Expanded class hierarchy of CachedDiscoveryClearer

1 string reference to 'CachedDiscoveryClearer'
core.services.yml in core/core.services.yml
core/core.services.yml
1 service uses CachedDiscoveryClearer
plugin.cache_clearer in core/core.services.yml
Drupal\Core\Plugin\CachedDiscoveryClearer

File

core/lib/Drupal/Core/Plugin/CachedDiscoveryClearer.php, line 10

Namespace

Drupal\Core\Plugin
View source
class CachedDiscoveryClearer implements CachedDiscoveryClearerInterface {

  /**
   * The stored discoveries.
   *
   * @var \Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface[]
   */
  protected $cachedDiscoveries = [];

  /**
   * {@inheritdoc}
   */
  public function addCachedDiscovery(CachedDiscoveryInterface $cached_discovery) {
    $this->cachedDiscoveries[] = $cached_discovery;
  }

  /**
   * {@inheritdoc}
   */
  public function clearCachedDefinitions() {
    foreach ($this->cachedDiscoveries as $cached_discovery) {
      $cached_discovery
        ->clearCachedDefinitions();
    }
  }

}

Members