class CachedDiscoveryClearer in Drupal 10
Same name in this branch
- 10 core/lib/Drupal/Core/Plugin/CachedDiscoveryClearer.php \Drupal\Core\Plugin\CachedDiscoveryClearer
- 10 core/lib/Drupal/Core/ProxyClass/Plugin/CachedDiscoveryClearer.php \Drupal\Core\ProxyClass\Plugin\CachedDiscoveryClearer
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Plugin/CachedDiscoveryClearer.php \Drupal\Core\Plugin\CachedDiscoveryClearer
- 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
File
- core/lib/ Drupal/ Core/ Plugin/ CachedDiscoveryClearer.php, line 10 
Namespace
Drupal\Core\PluginView 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();
    }
  }
}