diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php index bb345fc..20b2926 100644 --- a/core/lib/Drupal/Core/DrupalKernel.php +++ b/core/lib/Drupal/Core/DrupalKernel.php @@ -777,7 +777,7 @@ protected function moduleData($module) { * @todo Remove obsolete $module_list parameter. Only $module_filenames is * needed. */ - public function updateModules(array $module_list, array $module_filenames = array(), array $experimental_namespaces = array()) { + public function updateModules(array $module_list, array $module_filenames = array(), array $experimental_namespaces = NULL) { $pre_existing_module_namespaces = []; $pre_existing_experimental_namespaces = []; if ($this->booted && is_array($this->moduleList)) { @@ -789,10 +789,12 @@ public function updateModules(array $module_list, array $module_filenames = arra $this->moduleData[$name] = $extension; } - foreach ($experimental_namespaces as $module => $namespaces) { - $this->experimentalNamespaces = array_merge($this->experimentalNamespaces, $namespaces); + if (!empty($experimental_namespaces)) { + foreach ($experimental_namespaces as $module => $namespaces) { + $this->experimentalNamespaces = array_merge($this->experimentalNamespaces, $namespaces); + } + $this->experimentalNamespaces = array_unique($this->experimentalNamespaces); } - $this->experimentalNamespaces = array_unique($this->experimentalNamespaces); // If we haven't yet booted, we don't need to do anything: the new module // list will take effect when boot() is called. However we set a diff --git a/core/lib/Drupal/Core/DrupalKernelInterface.php b/core/lib/Drupal/Core/DrupalKernelInterface.php index 414327b..69edb2d 100644 --- a/core/lib/Drupal/Core/DrupalKernelInterface.php +++ b/core/lib/Drupal/Core/DrupalKernelInterface.php @@ -100,9 +100,9 @@ public function getAppRoot(); * @param array $module_filenames * List of module filenames, keyed by module name. * @param array $experimental_namespaces - * List of experimental namespaces, keyed by module name. + * (optional) List of experimental namespaces, keyed by module name. */ - public function updateModules(array $module_list, array $module_filenames = array(), array $experimental_namespaces = array()); + public function updateModules(array $module_list, array $module_filenames = array(), array $experimental_namespaces = NULL); /** * Force a container rebuild.