You are here

interface PluginManagerInterface in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Plugin/PluginManagerInterface.php \Drupal\Component\Plugin\PluginManagerInterface
  2. 10 core/lib/Drupal/Component/Plugin/PluginManagerInterface.php \Drupal\Component\Plugin\PluginManagerInterface

Interface implemented by plugin managers.

There are no explicit methods on the manager interface. Instead plugin managers broker the interactions of the different plugin components, and therefore, must implement each component interface, which is enforced by this interface extending all of the component ones.

While a plugin manager may directly implement these interface methods with custom logic, it is expected to be more common for plugin managers to proxy the method invocations to the respective components, and directly implement only the additional functionality needed by the specific pluggable system. To follow this pattern, plugin managers can extend from the PluginManagerBase class, which contains the proxying logic.

Hierarchy

Expanded class hierarchy of PluginManagerInterface

All classes that implement PluginManagerInterface

See also

\Drupal\Component\Plugin\PluginManagerBase

Related topics

42 files declare their use of PluginManagerInterface
BlockPluginCollection.php in core/modules/block/src/BlockPluginCollection.php
ConfigEntityBaseUnitTest.php in core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php
Contains \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest.
ConfigMapperManagerInterface.php in core/modules/config_translation/src/ConfigMapperManagerInterface.php
ContextAwarePluginManagerInterface.php in core/lib/Drupal/Core/Plugin/Context/ContextAwarePluginManagerInterface.php
D6TermNodeDeriver.php in core/modules/taxonomy/src/Plugin/migrate/D6TermNodeDeriver.php

... See full list

File

core/lib/Drupal/Component/Plugin/PluginManagerInterface.php, line 28

Namespace

Drupal\Component\Plugin
View source
interface PluginManagerInterface extends DiscoveryInterface, FactoryInterface, MapperInterface {

}

Members

Namesort descending Modifiers Type Description Overrides
DiscoveryInterface::getDefinition public function Gets a specific plugin definition. 4
DiscoveryInterface::getDefinitions public function Gets the definition of all plugins for this type. 3
DiscoveryInterface::hasDefinition public function Indicates if a specific plugin definition exists. 1
FactoryInterface::createInstance public function Creates a pre-configured instance of a plugin. 6
MapperInterface::getInstance public function Gets a preconfigured instance of a plugin. 3