class ConfigurablePluginBase

Base class for plugins that are configurable.

Provides boilerplate methods for implementing Drupal\Component\Plugin\ConfigurableInterface. Configurable plugins may extend this base class instead of PluginBase. If your plugin must extend a different base class, you may use \Drupal\Component\Plugin\ConfigurableTrait directly and call setConfiguration() in your constructor.

Hierarchy

Expanded class hierarchy of ConfigurablePluginBase

See also

\Drupal\Core\Plugin\ConfigurableTrait

8 files declare their use of ConfigurablePluginBase
ConfigurablePluginBaseTest.php in core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBaseTest.php
DefaultSingleLazyPluginCollectionTest.php in core/tests/Drupal/Tests/Core/Plugin/DefaultSingleLazyPluginCollectionTest.php
ImageEffectBase.php in core/modules/image/src/ImageEffectBase.php
LayoutDefault.php in core/lib/Drupal/Core/Layout/LayoutDefault.php
SelectionPluginBase.php in core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionPluginBase.php

... See full list

File

core/lib/Drupal/Core/Plugin/ConfigurablePluginBase.php, line 20

Namespace

Drupal\Core\Plugin
View source
abstract class ConfigurablePluginBase extends PluginBase implements ConfigurableInterface {
  use ConfigurableTrait;
  
  /**
   * {@inheritdoc}
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->setConfiguration($configuration);
  }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
ConfigurablePluginBase::__construct public function 5
ConfigurableTrait::$configuration protected property Configuration information passed into the plugin.
ConfigurableTrait::defaultConfiguration public function Gets default configuration for this plugin. 19
ConfigurableTrait::getConfiguration public function Gets this plugin's configuration. 3
ConfigurableTrait::setConfiguration public function Sets the configuration for this plugin instance. 2

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.