diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php index 2134420..5c4d37d 100644 --- a/core/lib/Drupal/Core/Extension/ModuleHandler.php +++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php @@ -90,6 +90,13 @@ class ModuleHandler implements ModuleHandlerInterface { protected $root; /** + * A list of module include file keys. + * + * @var array + */ + protected $includeFileKeys = []; + + /** * Constructs a ModuleHandler object. * * @param string $root @@ -257,7 +264,6 @@ public function loadAllIncludes($type, $name = NULL) { * {@inheritdoc} */ public function loadInclude($module, $type, $name = NULL) { - static $files = []; if ($type == 'install') { // Make sure the installation API is available @@ -266,18 +272,18 @@ public function loadInclude($module, $type, $name = NULL) { $name = $name ?: $module; $key = $type . ':' . $module . ':' . $name; - if (!isset($files[$key])) { - $files[$key] = FALSE; + if (!isset($this->includeFileKeys[$key])) { + $this->includeFileKeys[$key] = FALSE; if (isset($this->moduleList[$module])) { $file = $this->root . '/' . $this->moduleList[$module]->getPath() . "/$name.$type"; if (is_file($file)) { require_once $file; - $files[$key] = $file; + $this->includeFileKeys[$key] = $file; } } } - return $files[$key]; + return $this->includeFileKeys[$key]; } /**