Provides a hook-based plugin discovery class.
Expanded class hierarchy of HookDiscovery
class HookDiscovery implements DiscoveryInterface {
/**
* The name of the hook that will be implemented by this discovery instance.
*
* @var string
*/
protected $hook;
/**
* Constructs a Drupal\Core\Plugin\Discovery\HookDiscovery object.
*
* @param string $hook
* The Drupal hook that a module can implement in order to interface to
* this discovery class.
*/
function __construct($hook) {
$this->hook = $hook;
}
/**
* Implements Drupal\Component\Plugin\Discovery\DicoveryInterface::getDefinition().
*/
public function getDefinition($plugin_id) {
$plugins = $this
->getDefinitions();
return isset($plugins[$plugin_id]) ? $plugins[$plugin_id] : NULL;
}
/**
* Implements Drupal\Component\Plugin\Discovery\DicoveryInterface::getDefinitions().
*/
public function getDefinitions() {
$definitions = array();
foreach (module_implements($this->hook) as $module) {
$function = $module . '_' . $this->hook;
foreach ($function() as $plugin_id => $definition) {
$definition['module'] = $module;
$definitions[$plugin_id] = $definition;
}
}
return $definitions;
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
HookDiscovery:: |
protected | property | The name of the hook that will be implemented by this discovery instance. | |
HookDiscovery:: |
public | function |
Implements Drupal\Component\Plugin\Discovery\DicoveryInterface::getDefinition(). Overrides DiscoveryInterface:: |
|
HookDiscovery:: |
public | function |
Implements Drupal\Component\Plugin\Discovery\DicoveryInterface::getDefinitions(). Overrides DiscoveryInterface:: |
|
HookDiscovery:: |
function | Constructs a Drupal\Core\Plugin\Discovery\HookDiscovery object. |