public function Config::save in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Config/Config.php \Drupal\Core\Config\Config::save()
- 10 core/lib/Drupal/Core/Config/Config.php \Drupal\Core\Config\Config::save()
Saves the configuration object.
Must invalidate the cache tags associated with the configuration object.
Parameters
bool $has_trusted_data: Set to TRUE if the configuration data has already been checked to ensure it conforms to schema. Generally this is only used during module and theme installation.
Return value
$this
Overrides StorableConfigBase::save
See also
\Drupal\Core\Config\ConfigInstaller::createConfiguration()
1 method overrides Config::save()
- ImmutableConfig::save in core/
lib/ Drupal/ Core/ Config/ ImmutableConfig.php - Saves the configuration object.
File
- core/
lib/ Drupal/ Core/ Config/ Config.php, line 201
Class
- Config
- Defines the default configuration object.
Namespace
Drupal\Core\ConfigCode
public function save($has_trusted_data = FALSE) {
// Validate the configuration object name before saving.
static::validateName($this->name);
// If there is a schema for this configuration object, cast all values to
// conform to the schema.
if (!$has_trusted_data) {
if ($this->typedConfigManager
->hasConfigSchema($this->name)) {
// Ensure that the schema wrapper has the latest data.
$this->schemaWrapper = NULL;
foreach ($this->data as $key => $value) {
$this->data[$key] = $this
->castValue($key, $value);
}
}
else {
foreach ($this->data as $key => $value) {
$this
->validateValue($key, $value);
}
}
}
// Potentially configuration schema could have changed the underlying data's
// types.
$this
->resetOverriddenData();
$this->storage
->write($this->name, $this->data);
if (!$this->isNew) {
Cache::invalidateTags($this
->getCacheTags());
}
$this->isNew = FALSE;
$this->eventDispatcher
->dispatch(ConfigEvents::SAVE, new ConfigCrudEvent($this));
$this->originalData = $this->data;
return $this;
}