You are here

public function WebformElementManager::createInstance in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElementManager.php \Drupal\webform\Plugin\WebformElementManager::createInstance()

Creates a pre-configured instance of a plugin.

Parameters

string $plugin_id: The ID of the plugin being instantiated.

array $configuration: An array of configuration relevant to the plugin instance.

Return value

object A fully configured plugin instance.

Throws

\Drupal\Component\Plugin\Exception\PluginException If the instance cannot be created, such as if the ID is invalid.

Overrides PluginManagerBase::createInstance

3 calls to WebformElementManager::createInstance()
WebformElementManager::getElementInstance in src/Plugin/WebformElementManager.php
Get a webform element plugin instance for an element.
WebformElementManager::getInstances in src/Plugin/WebformElementManager.php
Get all available webform element plugin instances.
WebformElementManager::invokeMethod in src/Plugin/WebformElementManager.php
Invoke a method for a Webform element.

File

src/Plugin/WebformElementManager.php, line 124

Class

WebformElementManager
Provides a plugin manager for webform element plugins.

Namespace

Drupal\webform\Plugin

Code

public function createInstance($plugin_id, array $configuration = []) {

  // If configuration is empty create a single reusable instance for each
  // Webform element plugin.
  if (empty($configuration)) {
    if (!isset($this->instances[$plugin_id])) {
      $this->instances[$plugin_id] = parent::createInstance($plugin_id);
    }
    return $this->instances[$plugin_id];
  }
  else {
    return parent::createInstance($plugin_id, $configuration);
  }
}