public function CachedModuleHandler::resetImplementations

Implements \Drupal\Core\Extension\ModuleHandlerInterface::resetImplementations().

Overrides ModuleHandler::resetImplementations

File

drupal/core/lib/Drupal/Core/Extension/CachedModuleHandler.php, line 93
Contains Drupal\Core\Extension\CachedModuleHandler.

Class

CachedModuleHandler
Class that manages enabled modules in a Drupal installation.

Namespace

Drupal\Core\Extension

Code

public function resetImplementations() {

  // We maintain a persistent cache of hook implementations in addition to the
  // static cache to avoid looping through every module and every hook on each
  // request. Benchmarks show that the benefit of this caching outweighs the
  // additional database hit even when using the default database caching
  // backend and only a small number of modules are enabled. The cost of the
  // $this->bootstrapCache->get() is more or less constant and reduced further when
  // non-database caching backends are used, so there will be more significant
  // gains when a large number of modules are installed or hooks invoked, since
  // this can quickly lead to module_hook() being called several thousand times
  // per request.
  parent::resetImplementations();
  $this->bootstrapCache
    ->set('module_implements', array());
  $this->bootstrapCache
    ->delete('hook_info');
}