You are here

public function ConfigBase::set in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Config/ConfigBase.php \Drupal\Core\Config\ConfigBase::set()
  2. 9 core/lib/Drupal/Core/Config/ConfigBase.php \Drupal\Core\Config\ConfigBase::set()

Sets a value in this configuration object.

Parameters

string $key: Identifier to store value in configuration.

mixed $value: Value to associate with identifier.

Return value

$this The configuration object.

Throws

\Drupal\Core\Config\ConfigValueException If $value is an array and any of its keys in any depth contains a dot.

File

core/lib/Drupal/Core/Config/ConfigBase.php, line 180

Class

ConfigBase
Provides a base class for configuration objects with get/set support.

Namespace

Drupal\Core\Config

Code

public function set($key, $value) {
  $value = $this
    ->castSafeStrings($value);

  // The dot/period is a reserved character; it may appear between keys, but
  // not within keys.
  if (is_array($value)) {
    $this
      ->validateKeys($value);
  }
  $parts = explode('.', $key);
  if (count($parts) == 1) {
    $this->data[$key] = $value;
  }
  else {
    NestedArray::setValue($this->data, $parts, $value);
  }
  return $this;
}