You are here

public function ModuleHandler::loadInclude in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Extension/ModuleHandler.php \Drupal\Core\Extension\ModuleHandler::loadInclude()
  2. 9 core/lib/Drupal/Core/Extension/ModuleHandler.php \Drupal\Core\Extension\ModuleHandler::loadInclude()

File

core/lib/Drupal/Core/Extension/ModuleHandler.php, line 262

Class

ModuleHandler
Class that manages modules in a Drupal installation.

Namespace

Drupal\Core\Extension

Code

public function loadInclude($module, $type, $name = NULL) {
  if ($type == 'install') {

    // Make sure the installation API is available
    include_once $this->root . '/core/includes/install.inc';
  }
  $name = $name ?: $module;
  $key = $type . ':' . $module . ':' . $name;
  if (isset($this->includeFileKeys[$key])) {
    return $this->includeFileKeys[$key];
  }
  if (isset($this->moduleList[$module])) {
    $file = $this->root . '/' . $this->moduleList[$module]
      ->getPath() . "/{$name}.{$type}";
    if (is_file($file)) {
      require_once $file;
      $this->includeFileKeys[$key] = $file;
      return $file;
    }
    else {
      $this->includeFileKeys[$key] = FALSE;
    }
  }
  return FALSE;
}