ModuleHandler::loadInclude

public ModuleHandler::loadInclude($module, $type, $name = NULL)

Loads a module include file.

Examples:

<?php
  // Load node.admin.inc from the node module.
  $this->loadInclude('node', 'inc', 'node.admin');
  // Load content_types.inc from the node module.
  $this->loadInclude('node', 'inc', ''content_types');
?>

Parameters

string $module: The module to which the include file belongs.

string $type: The include file's type (file extension).

string $name: (optional) The base file name (without the $type extension). If omitted, $module is used; i.e., resulting in "$module.$type" by default.

Return value

string|false The name of the included file, if successful; FALSE otherwise.

Overrides ModuleHandlerInterface::loadInclude

File

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

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;
}
doc_Drupal
2016-10-29 09:29:16
Comments
Leave a Comment

Please login to continue.