function ModuleHandler::hasImplementations

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

Determines whether there are implementations of a hook.

Parameters

string $hook: The name of the hook (e.g. "help" or "menu").

string|string[]|null $modules: (optional) A single module or multiple modules to check if they have any implementations of a hook. Use NULL to check if any enabled module has implementations.

Return value

bool If $modules is provided, then TRUE if there are any implementations by the module(s) provided. Or if $modules if NULL, then TRUE if there are any implementations. Otherwise FALSE.

Overrides ModuleHandlerInterface::hasImplementations

File

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

Class

ModuleHandler
Class that manages modules in a Drupal installation.

Namespace

Drupal\Core\Extension

Code

public function hasImplementations(string $hook, $modules = NULL) : bool {
  $implementation_modules = array_keys($this->getHookListeners($hook));
  return (bool) (isset($modules) ? array_intersect($implementation_modules, (array) $modules) : $implementation_modules);
}

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