class FruitPluginManager in Plug 7
Name plugin manager.
Hierarchy
- class \Drupal\Component\Plugin\PluginManagerBase implements PluginManagerInterface uses DiscoveryTrait
- class \Drupal\Core\Plugin\DefaultPluginManager implements CachedDiscoveryInterface, PluginManagerInterface uses DiscoveryCachedTrait
- class \Drupal\plug_example\FruitPluginManager
- class \Drupal\Core\Plugin\DefaultPluginManager implements CachedDiscoveryInterface, PluginManagerInterface uses DiscoveryCachedTrait
Expanded class hierarchy of FruitPluginManager
1 file declares its use of FruitPluginManager
- plug_example.module in modules/
plug_example/ plug_example.module - Module implementation file.
File
- modules/
plug_example/ src/ FruitPluginManager.php, line 18 - Contains \Drupal\plug_example\FruitPluginManager.
Namespace
Drupal\plug_exampleView source
class FruitPluginManager extends DefaultPluginManager {
/**
* {@inheritdoc}
*/
protected $defaults = array(
// Human readable label for the fruit.
'label' => '',
// The amount of sugar in the fruit.
'sugar' => '',
// Is the fruit slimy?
'slimy' => FALSE,
// Default class for breakpoint implementations.
'class' => 'Drupal\\plug_example\\Plugin\\fruit\\Fruit',
// The plugin id. Set by the plugin system based on the top-level YAML key.
'id' => '',
);
/**
* Constructs FruitPluginManager.
*
* @param \Traversable $namespaces
* An object that implements \Traversable which contains the root paths
* keyed by the corresponding namespace to look for plugin implementations.
* @param \DrupalCacheInterface $cache_backend
* Cache backend instance to use.
*/
public function __construct(\Traversable $namespaces, \DrupalCacheInterface $cache_backend) {
parent::__construct(FALSE, $namespaces);
$this->discovery = new YamlDiscovery('fruits', Module::getDirectories());
$this->factory = new ContainerFactory($this);
$this
->alterInfo('fruit_plugin');
$this
->setCacheBackend($cache_backend, 'fruit_plugins');
}
/**
* FruitPluginManager factory method.
*
* @param string $bin
* The cache bin for the plugin manager.
*
* @return FruitPluginManager
* The created manager.
*/
public static function create($bin = 'cache') {
return new static(Module::getNamespaces(), _cache_get_object($bin));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DefaultPluginManager:: |
protected | property | Name of the alter hook if one should be invoked. | |
DefaultPluginManager:: |
protected | property | Cache backend instance. | |
DefaultPluginManager:: |
protected | property | The cache key. | |
DefaultPluginManager:: |
protected | property | An object that implements \Traversable which contains the root paths keyed by the corresponding namespace to look for plugin implementations. | |
DefaultPluginManager:: |
protected | property | The name of the annotation that contains the plugin definition. | |
DefaultPluginManager:: |
protected | property | The interface each plugin should implement. | |
DefaultPluginManager:: |
protected | property | The subdirectory within a namespace to look for plugins, or FALSE if the plugins are in the top level of the namespace. | |
DefaultPluginManager:: |
protected | property | Flag whether persistent caches should be used. | |
DefaultPluginManager:: |
protected | function | Invokes the hook to alter the definitions if the alter hook is set. | |
DefaultPluginManager:: |
protected | function | Initializes the alter hook. | |
DefaultPluginManager:: |
protected | function | Fetches from the cache backend, respecting the use caches flag. | |
DefaultPluginManager:: |
protected | function | Stores data in the persistent cache, respecting the use caches flag. | |
DefaultPluginManager:: |
public | function |
Clears static and persistent plugin definition caches. Overrides CachedDiscoveryInterface:: |
|
DefaultPluginManager:: |
protected | function | Finds plugin definitions. | |
DefaultPluginManager:: |
protected | function | Returns the cached plugin definitions of the decorated discovery class. | |
DefaultPluginManager:: |
public | function |
Gets the definition of all plugins for this type. Overrides DiscoveryTrait:: |
|
DefaultPluginManager:: |
protected | function |
Gets the plugin discovery. Overrides PluginManagerBase:: |
|
DefaultPluginManager:: |
protected | function |
Gets the plugin factory. Overrides PluginManagerBase:: |
|
DefaultPluginManager:: |
public | function | Performs extra processing on plugin definitions. | |
DefaultPluginManager:: |
protected | function | Determines if the provider of a definition exists. | |
DefaultPluginManager:: |
public | function | Initialize the cache backend. | |
DefaultPluginManager:: |
protected | function | Sets a cache of plugin definitions for the decorated discovery class. | |
DefaultPluginManager:: |
public | function |
Disable the use of caches. Overrides CachedDiscoveryInterface:: |
|
DiscoveryCachedTrait:: |
protected | property | Cached definitions array. | |
DiscoveryCachedTrait:: |
public | function |
Overrides DiscoveryTrait:: |
1 |
DiscoveryTrait:: |
protected | function | Gets a specific plugin definition. | |
DiscoveryTrait:: |
public | function | ||
FruitPluginManager:: |
protected | property |
A set of defaults to be referenced by $this->processDefinition() if
additional processing of plugins is necessary or helpful for development
purposes. Overrides DefaultPluginManager:: |
|
FruitPluginManager:: |
public static | function | FruitPluginManager factory method. | |
FruitPluginManager:: |
public | function |
Constructs FruitPluginManager. Overrides DefaultPluginManager:: |
|
PluginManagerBase:: |
protected | property | The object that discovers plugins managed by this manager. | |
PluginManagerBase:: |
protected | property | The object that instantiates plugins managed by this manager. | |
PluginManagerBase:: |
protected | property | The object that returns the preconfigured plugin instance appropriate for a particular runtime condition. | |
PluginManagerBase:: |
public | function |
Creates a pre-configured instance of a plugin. Overrides FactoryInterface:: |
|
PluginManagerBase:: |
public | function |
Gets a preconfigured instance of a plugin. Overrides MapperInterface:: |