public function Config::save in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Config/Config.php \Drupal\Core\Config\Config::save()
Saves 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.
Must invalidate the cache tags associated with the configuration object.
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 206 - Contains \Drupal\Core\Config\Config.
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);
}
}
}
$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;
// Potentially configuration schema could have changed the underlying data's
// types.
$this
->resetOverriddenData();
return $this;
}