function DefaultPluginManager::clearCachedDefinitions

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Plugin/DefaultPluginManager.php \Drupal\Core\Plugin\DefaultPluginManager::clearCachedDefinitions()
  2. 10 core/lib/Drupal/Core/Plugin/DefaultPluginManager.php \Drupal\Core\Plugin\DefaultPluginManager::clearCachedDefinitions()
  3. 9 core/lib/Drupal/Core/Plugin/DefaultPluginManager.php \Drupal\Core\Plugin\DefaultPluginManager::clearCachedDefinitions()
  4. 8.9.x core/lib/Drupal/Core/Plugin/DefaultPluginManager.php \Drupal\Core\Plugin\DefaultPluginManager::clearCachedDefinitions()
3 methods override DefaultPluginManager::clearCachedDefinitions()
ConfigMapperManager::clearCachedDefinitions in core/modules/config_translation/src/ConfigMapperManager.php
Clears static and persistent plugin definition caches.
HelpSectionManager::clearCachedDefinitions in core/modules/help/src/HelpSectionManager.php
Clears static and persistent plugin definition caches.
PluginManagerCacheClearer::clearCachedDefinitions in core/modules/system/tests/modules/module_test/src/PluginManagerCacheClearer.php
Tests call to CachedDiscoveryInterface::clearCachedDefinitions().

File

core/lib/Drupal/Core/Plugin/DefaultPluginManager.php, line 225

Class

DefaultPluginManager
Base class for plugin managers.

Namespace

Drupal\Core\Plugin

Code

public function clearCachedDefinitions() {
  if ($this->cacheBackend) {
    if ($this->cacheTags) {
      // Use the cache tags to clear the cache.
      Cache::invalidateTags($this->cacheTags);
    }
    else {
      $this->cacheBackend
        ->delete($this->cacheKey);
    }
  }
  if ($this->discovery instanceof CachedDiscoveryInterface) {
    $this->discovery
      ->clearCachedDefinitions();
  }
  $this->definitions = NULL;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.