annotate core/lib/Drupal/Component/Plugin/PluginManagerInterface.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author |
Chris Cannam |
date |
Mon, 23 Apr 2018 09:46:53 +0100 |
parents |
4c8ae668cc8c |
children |
|
rev |
line source |
Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Component\Plugin;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\Component\Plugin\Discovery\DiscoveryInterface;
|
Chris@0
|
6 use Drupal\Component\Plugin\Factory\FactoryInterface;
|
Chris@0
|
7 use Drupal\Component\Plugin\Mapper\MapperInterface;
|
Chris@0
|
8
|
Chris@0
|
9 /**
|
Chris@0
|
10 * Interface implemented by plugin managers.
|
Chris@0
|
11 *
|
Chris@0
|
12 * There are no explicit methods on the manager interface. Instead plugin
|
Chris@0
|
13 * managers broker the interactions of the different plugin components, and
|
Chris@0
|
14 * therefore, must implement each component interface, which is enforced by
|
Chris@0
|
15 * this interface extending all of the component ones.
|
Chris@0
|
16 *
|
Chris@0
|
17 * While a plugin manager may directly implement these interface methods with
|
Chris@0
|
18 * custom logic, it is expected to be more common for plugin managers to proxy
|
Chris@0
|
19 * the method invocations to the respective components, and directly implement
|
Chris@0
|
20 * only the additional functionality needed by the specific pluggable system.
|
Chris@0
|
21 * To follow this pattern, plugin managers can extend from the PluginManagerBase
|
Chris@0
|
22 * class, which contains the proxying logic.
|
Chris@0
|
23 *
|
Chris@0
|
24 * @see \Drupal\Component\Plugin\PluginManagerBase
|
Chris@0
|
25 *
|
Chris@0
|
26 * @ingroup plugin_api
|
Chris@0
|
27 */
|
Chris@0
|
28 interface PluginManagerInterface extends DiscoveryInterface, FactoryInterface, MapperInterface {
|
Chris@0
|
29 }
|