You are here

public function ModuleInstaller::install in Drupal 9

Same name in this branch
  1. 9 core/lib/Drupal/Core/Extension/ModuleInstaller.php \Drupal\Core\Extension\ModuleInstaller::install()
  2. 9 core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php \Drupal\Core\ProxyClass\Extension\ModuleInstaller::install()
Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php \Drupal\Core\ProxyClass\Extension\ModuleInstaller::install()

Installs a given list of modules.

Order of events:

  • Gather and add module dependencies to $module_list (if applicable).
  • For each module that is being installed:
  • Invoke hook_modules_installed().

To install test modules add

$settings['extension_discovery_scan_tests'] = TRUE;

to your settings.php.

Parameters

string[] $module_list: An array of module names.

bool $enable_dependencies: (optional) If TRUE, dependencies will automatically be installed in the correct order. This incurs a significant performance cost, so use FALSE if you know $module_list is already complete.

Return value

bool TRUE if the modules were successfully installed.

Throws

\Drupal\Core\Extension\MissingDependencyException Thrown when a requested module, or a dependency of one, can not be found.

\Drupal\Core\Extension\ExtensionNameLengthException Thrown when the extension's name is longer than DRUPAL_EXTENSION_NAME_MAX_LENGTH.

Overrides ModuleInstallerInterface::install

See also

hook_module_preinstall()

hook_install()

hook_modules_installed()

File

core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php, line 81

Class

ModuleInstaller
Provides a proxy class for \Drupal\Core\Extension\ModuleInstaller.

Namespace

Drupal\Core\ProxyClass\Extension

Code

public function install(array $module_list, $enable_dependencies = true) {
  return $this
    ->lazyLoadItself()
    ->install($module_list, $enable_dependencies);
}