function ModuleHandler::loadInclude

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

Overrides ModuleHandlerInterface::loadInclude

3 calls to ModuleHandler::loadInclude()
ModuleHandler::buildImplementationInfo in core/lib/Drupal/Core/Extension/ModuleHandler.php
Builds hook implementation information for a given hook name.
ModuleHandler::loadAllIncludes in core/lib/Drupal/Core/Extension/ModuleHandler.php
Loads an include file for each enabled module.
ModuleHandler::verifyImplementations in core/lib/Drupal/Core/Extension/ModuleHandler.php
Verifies an array of implementations loaded from cache.

File

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

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;
}

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