class BlockPluginCollection
Same name in other branches
- 9 core/modules/block/src/BlockPluginCollection.php \Drupal\block\BlockPluginCollection
- 10 core/modules/block/src/BlockPluginCollection.php \Drupal\block\BlockPluginCollection
- 11.x core/modules/block/src/BlockPluginCollection.php \Drupal\block\BlockPluginCollection
Provides a collection of block plugins.
Hierarchy
- class \Drupal\Component\Plugin\LazyPluginCollection implements \Drupal\Component\Plugin\IteratorAggregate, \Drupal\Component\Plugin\Countable
- class \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection extends \Drupal\Component\Plugin\LazyPluginCollection uses \Drupal\Core\DependencyInjection\DependencySerializationTrait
- class \Drupal\block\BlockPluginCollection extends \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection
- class \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection extends \Drupal\Component\Plugin\LazyPluginCollection uses \Drupal\Core\DependencyInjection\DependencySerializationTrait
Expanded class hierarchy of BlockPluginCollection
1 file declares its use of BlockPluginCollection
File
-
core/
modules/ block/ src/ BlockPluginCollection.php, line 12
Namespace
Drupal\blockView source
class BlockPluginCollection extends DefaultSingleLazyPluginCollection {
/**
* The block ID this plugin collection belongs to.
*
* @var string
*/
protected $blockId;
/**
* Constructs a new BlockPluginCollection.
*
* @param \Drupal\Component\Plugin\PluginManagerInterface $manager
* The manager to be used for instantiating plugins.
* @param string $instance_id
* The ID of the plugin instance.
* @param array $configuration
* An array of configuration.
* @param string $block_id
* The unique ID of the block entity using this plugin.
*/
public function __construct(PluginManagerInterface $manager, $instance_id, array $configuration, $block_id) {
parent::__construct($manager, $instance_id, $configuration);
$this->blockId = $block_id;
}
/**
* {@inheritdoc}
*
* @return \Drupal\Core\Block\BlockPluginInterface
*/
public function &get($instance_id) {
return parent::get($instance_id);
}
/**
* {@inheritdoc}
*/
protected function initializePlugin($instance_id) {
if (!$instance_id) {
throw new PluginException("The block '{$this->blockId}' did not specify a plugin.");
}
try {
parent::initializePlugin($instance_id);
} catch (PluginException $e) {
$module = $this->configuration['provider'];
// Ignore blocks belonging to uninstalled modules, but re-throw valid
// exceptions when the module is installed and the plugin is
// misconfigured.
if (!$module || \Drupal::moduleHandler()->moduleExists($module)) {
throw $e;
}
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
BlockPluginCollection::$blockId | protected | property | The block ID this plugin collection belongs to. | ||
BlockPluginCollection::get | public | function | Overrides LazyPluginCollection::get | ||
BlockPluginCollection::initializePlugin | protected | function | Initializes and stores a plugin. | Overrides DefaultSingleLazyPluginCollection::initializePlugin | |
BlockPluginCollection::__construct | public | function | Constructs a new BlockPluginCollection. | Overrides DefaultSingleLazyPluginCollection::__construct | |
DefaultSingleLazyPluginCollection::$configuration | protected | property | An array of configuration to instantiate the plugin with. | ||
DefaultSingleLazyPluginCollection::$instanceId | protected | property | The instance ID used for this plugin collection. | ||
DefaultSingleLazyPluginCollection::$manager | protected | property | The manager used to instantiate the plugins. | ||
DefaultSingleLazyPluginCollection::addInstanceId | public | function | Adds an instance ID to the available instance IDs. | Overrides LazyPluginCollection::addInstanceId | |
DefaultSingleLazyPluginCollection::getConfiguration | public | function | Gets the current configuration of all plugins in this collection. | Overrides LazyPluginCollection::getConfiguration | |
DefaultSingleLazyPluginCollection::setConfiguration | public | function | Sets the configuration for all plugins in this collection. | Overrides LazyPluginCollection::setConfiguration | |
DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | ||
DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | ||
DependencySerializationTrait::__sleep | public | function | 1 | ||
DependencySerializationTrait::__wakeup | public | function | 2 | ||
LazyPluginCollection::$instanceIds | protected | property | Stores the IDs of all potential plugin instances. | ||
LazyPluginCollection::$pluginInstances | protected | property | Stores all instantiated plugins. | ||
LazyPluginCollection::clear | public | function | Clears all instantiated plugins. | 1 | |
LazyPluginCollection::count | public | function | |||
LazyPluginCollection::getInstanceIds | public | function | Gets all instance IDs. | ||
LazyPluginCollection::getIterator | public | function | |||
LazyPluginCollection::has | public | function | Determines if a plugin instance exists. | ||
LazyPluginCollection::remove | public | function | Removes an initialized plugin. | 1 | |
LazyPluginCollection::removeInstanceId | public | function | Removes an instance ID. | 1 | |
LazyPluginCollection::set | public | function | Stores an initialized plugin. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.