function ModuleInstaller::updateKernel

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Extension/ModuleInstaller.php \Drupal\Core\Extension\ModuleInstaller::updateKernel()
  2. 10 core/lib/Drupal/Core/Extension/ModuleInstaller.php \Drupal\Core\Extension\ModuleInstaller::updateKernel()
  3. 9 core/lib/Drupal/Core/Extension/ModuleInstaller.php \Drupal\Core\Extension\ModuleInstaller::updateKernel()
  4. 8.9.x core/lib/Drupal/Core/Extension/ModuleInstaller.php \Drupal\Core\Extension\ModuleInstaller::updateKernel()

Updates the kernel module list.

Parameters

\Drupal\Core\Extension\Extension[] $module_filenames: The list of installed modules.

2 calls to ModuleInstaller::updateKernel()
ModuleInstaller::doInstall in core/lib/Drupal/Core/Extension/ModuleInstaller.php
Installs a set of modules.
ModuleInstaller::uninstall in core/lib/Drupal/Core/Extension/ModuleInstaller.php
Uninstalls a given list of modules.

File

core/lib/Drupal/Core/Extension/ModuleInstaller.php, line 706

Class

ModuleInstaller
Default implementation of the module installer.

Namespace

Drupal\Core\Extension

Code

protected function updateKernel($module_filenames) {
  if (!empty($module_filenames)) {
    // This reboots the kernel to register the module's bundle and its
    // services in the service container. The $module_filenames argument is
    // taken over as %container.modules% parameter, which is passed to a fresh
    // ModuleHandler instance upon first retrieval.
    $this->kernel
      ->updateModules($module_filenames, $module_filenames);
    $container = $this->kernel
      ->getContainer();
  }
  else {
    $container = $this->kernel
      ->resetContainer();
  }
  // After rebuilding the container we need to update the injected
  // dependencies.
  $this->moduleHandler = $container->get('module_handler');
  $this->connection = $container->get('database');
  $this->updateRegistry = $container->get('update.update_hook_registry');
}

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