/Drupal 8

function hook_hook_info


Defines one or more hooks that are exposed by a module.

Normally hooks do not need to be explicitly defined. However, by declaring a hook explicitly, a module may define a "group" for it. Modules that implement a hook may then place their implementation in either $module.module or in $module.$group.inc. If the hook is located in $module.$group.inc, then that file will be automatically loaded when needed. In general, hooks that are rarely invoked and/or are very large should be placed in a separate include file, while hooks that are very short or very frequently called should be left in the main module file so that they are always available.

See system_hook_info() for all hook groups defined by Drupal core.

Return value

An associative array whose keys are hook names and whose values are an associative array containing:

  • group: A string defining the group to which the hook belongs. The module system will determine whether a file with the name $module.$group.inc exists, and automatically load it when required.

See also


Related topics

Define functions that alter the behavior of Drupal core.


core/lib/Drupal/Core/Extension/module.api.php, line 86
Hooks related to module and update systems.


function hook_hook_info() {
  $hooks['token_info'] = array(
    'group' => 'tokens',
  $hooks['tokens'] = array(
    'group' => 'tokens',
  return $hooks;

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.