class BlockPluginCollection in Zircon Profile 8.0
Same name and namespace in other branches
- 8 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 uses DependencySerializationTrait
- class \Drupal\block\BlockPluginCollection
 
 
 - class \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection uses DependencySerializationTrait
 
Expanded class hierarchy of BlockPluginCollection
1 file declares its use of BlockPluginCollection
- Block.php in core/
modules/ block/ src/ Entity/ Block.php  - Contains \Drupal\block\Entity\Block.
 
File
- core/
modules/ block/ src/ BlockPluginCollection.php, line 17  - Contains \Drupal\block\BlockPluginCollection.
 
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
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            BlockPluginCollection:: | 
                  protected | property | The block ID this plugin collection belongs to. | |
| 
            BlockPluginCollection:: | 
                  public | function | 
            Overrides LazyPluginCollection:: | 
                  |
| 
            BlockPluginCollection:: | 
                  protected | function | 
            Initializes and stores a plugin. Overrides DefaultSingleLazyPluginCollection:: | 
                  |
| 
            BlockPluginCollection:: | 
                  public | function | 
            Constructs a new BlockPluginCollection. Overrides DefaultSingleLazyPluginCollection:: | 
                  |
| 
            DefaultSingleLazyPluginCollection:: | 
                  protected | property | An array of configuration to instantiate the plugin with. | |
| 
            DefaultSingleLazyPluginCollection:: | 
                  protected | property | The instance ID used for this plugin collection. | |
| 
            DefaultSingleLazyPluginCollection:: | 
                  protected | property | The manager used to instantiate the plugins. | |
| 
            DefaultSingleLazyPluginCollection:: | 
                  public | function | 
            Adds an instance ID to the available instance IDs. Overrides LazyPluginCollection:: | 
                  |
| 
            DefaultSingleLazyPluginCollection:: | 
                  public | function | 
            Gets the current configuration of all plugins in this collection. Overrides LazyPluginCollection:: | 
                  |
| 
            DefaultSingleLazyPluginCollection:: | 
                  public | function | 
            Sets the configuration for all plugins in this collection. Overrides LazyPluginCollection:: | 
                  |
| 
            DependencySerializationTrait:: | 
                  protected | property | An array of service IDs keyed by property name used for serialization. | |
| 
            DependencySerializationTrait:: | 
                  public | function | 1 | |
| 
            DependencySerializationTrait:: | 
                  public | function | 2 | |
| 
            LazyPluginCollection:: | 
                  protected | property | Stores the IDs of all potential plugin instances. | |
| 
            LazyPluginCollection:: | 
                  protected | property | Stores all instantiated plugins. | |
| 
            LazyPluginCollection:: | 
                  public | function | Clears all instantiated plugins. | 1 | 
| 
            LazyPluginCollection:: | 
                  public | function | ||
| 
            LazyPluginCollection:: | 
                  public | function | Gets all instance IDs. | |
| 
            LazyPluginCollection:: | 
                  public | function | ||
| 
            LazyPluginCollection:: | 
                  public | function | Determines if a plugin instance exists. | |
| 
            LazyPluginCollection:: | 
                  public | function | Removes an initialized plugin. | 1 | 
| 
            LazyPluginCollection:: | 
                  public | function | Removes an instance ID. | 1 | 
| 
            LazyPluginCollection:: | 
                  public | function | Stores an initialized plugin. |