Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DefaultLazyPluginCollection.php

function DefaultLazyPluginCollection::setInstanceConfiguration

Updates the configuration for a plugin instance.

If there is no plugin instance yet, a new will be instantiated. Otherwise, the existing instance is updated with the new configuration.

Parameters

string $instance_id: The ID of a plugin to set the configuration for.

array $configuration: The plugin configuration to set.

2 calls to DefaultLazyPluginCollection::setInstanceConfiguration()
DefaultLazyPluginCollection::addInstanceId in core/lib/Drupal/Core/Plugin/DefaultLazyPluginCollection.php
Adds an instance ID to the available instance IDs.
DefaultLazyPluginCollection::setConfiguration in core/lib/Drupal/Core/Plugin/DefaultLazyPluginCollection.php
Sets the configuration for all plugins in this collection.

File

core/lib/Drupal/Core/Plugin/DefaultLazyPluginCollection.php, line 158

Class

DefaultLazyPluginCollection
Provides a default plugin collection for a plugin type.

Namespace

Drupal\Core\Plugin

Code

public function setInstanceConfiguration($instance_id, array $configuration) {
    if (isset($this->pluginInstances[$instance_id]) && isset($configuration[$this->pluginKey]) && isset($this->configurations[$instance_id][$this->pluginKey]) && $configuration[$this->pluginKey] !== $this->configurations[$instance_id][$this->pluginKey]) {
        // If the plugin has already been instantiated by the configuration was
        // for a different plugin then we need to unset the instantiated plugin.
        unset($this->pluginInstances[$instance_id]);
    }
    $this->configurations[$instance_id] = $configuration;
    $instance = $this->get($instance_id);
    if ($instance instanceof ConfigurableInterface) {
        $instance->setConfiguration($configuration);
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal