Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Plugin/Discovery/HookDiscovery.php \Drupal\Core\Plugin\Discovery\HookDiscovery::getDefinitions()
  2. 9 core/lib/Drupal/Core/Plugin/Discovery/HookDiscovery.php \Drupal\Core\Plugin\Discovery\HookDiscovery::getDefinitions()

Gets the definition of all plugins for this type.

Return value

mixed[] An array of plugin definitions (empty array if no definitions were found). Keys are plugin IDs.

Overrides DiscoveryTrait::getDefinitions

See also

\Drupal\Core\Plugin\FilteredPluginManagerInterface::getFilteredDefinitions()

File

core/lib/Drupal/Core/Plugin/Discovery/HookDiscovery.php, line 47

Class

HookDiscovery
Provides a hook-based plugin discovery class.

Namespace

Drupal\Core\Plugin\Discovery

Code

public function getDefinitions() {
  $definitions = [];
  $this->moduleHandler
    ->invokeAllWith($this->hook, function (callable $hook, string $module) use (&$definitions) {
    $module_definitions = $hook();
    foreach ($module_definitions as $plugin_id => $definition) {
      $definition['provider'] = $module;
      $definitions[$plugin_id] = $definition;
    }
  });
  return $definitions;
}