8.5.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)
8.0.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)
8.1.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)
8.2.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)
8.3.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)
8.4.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)
8.6.x ExecutablePluginBase.php ExecutablePluginBase::setConfig($key, $value)

Sets the value of a particular configuration option.

@todo This doesn't belong here. Move this into a new base class in https://www.drupal.org/node/1764380. @todo This does not set a value in \Drupal::config(), so the name is confusing.

Parameters

string $name: The name of the configuration option to set.

mixed $value: The value to set.

Return value

\Drupal\Core\Executable\ExecutablePluginBase The executable object for chaining.

File

core/lib/Drupal/Core/Executable/ExecutablePluginBase.php, line 75

Class

ExecutablePluginBase
Provides the basic architecture for executable plugins.

Namespace

Drupal\Core\Executable

Code

public function setConfig($key, $value) {
  if ($definition = $this
    ->getConfigDefinition($key)) {
    $typed_data = \Drupal::typedDataManager()
      ->create($definition, $value);
    if ($typed_data
      ->validate()
      ->count() > 0) {
      throw new PluginException("The provided configuration value does not pass validation.");
    }
  }
  $this->configuration[$key] = $value;
  return $this;
}