class HookDiscovery implements DiscoveryInterface (View source)

Provides a hook-based plugin discovery class.

Traits

Properties

protected string $hook

The name of the hook that will be implemented by this discovery instance.

protected ModuleHandlerInterface $moduleHandler

The module handler used to find and execute the plugin hook.

Methods

array
getDefinitions()

Gets the definition of all plugins for this type.

getDefinition($plugin_id, $exception_on_invalid = TRUE)

{@inheritdoc}

array|null
doGetDefinition(array $definitions, string $plugin_id, bool $exception_on_invalid)

Gets a specific plugin definition.

hasDefinition($plugin_id)

{@inheritdoc}

__construct(ModuleHandlerInterface $module_handler, string $hook)

Constructs a Drupal\Core\Plugin\Discovery\HookDiscovery object.

Details

array getDefinitions()

Gets the definition of all plugins for this type.

Return Value

array

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

getDefinition($plugin_id, $exception_on_invalid = TRUE)

{@inheritdoc}

Parameters

$plugin_id
$exception_on_invalid

protected array|null doGetDefinition(array $definitions, string $plugin_id, bool $exception_on_invalid)

Gets a specific plugin definition.

Parameters

array $definitions

An array of the available plugin definitions.

string $plugin_id

A plugin id.

bool $exception_on_invalid

If TRUE, an invalid plugin ID will cause an exception to be thrown; if FALSE, NULL will be returned.

Return Value

array|null

A plugin definition, or NULL if the plugin ID is invalid and $exception_on_invalid is TRUE.

Exceptions

PluginNotFoundException

hasDefinition($plugin_id)

{@inheritdoc}

Parameters

$plugin_id

__construct(ModuleHandlerInterface $module_handler, string $hook)

Constructs a Drupal\Core\Plugin\Discovery\HookDiscovery object.

Parameters

ModuleHandlerInterface $module_handler

The module handler.

string $hook

The Drupal hook that a module can implement in order to interface to this discovery class.