public function FileStorage::write in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/FileStorage.php \Drupal\Core\Config\FileStorage::write()
Writes configuration data to the storage.
Parameters
string $name: The name of a configuration object to save.
array $data: The configuration data to write.
Return value
bool TRUE on success, FALSE in case of an error.
Throws
\Drupal\Core\Config\StorageException If the back-end storage does not exist and cannot be created.
Overrides StorageInterface::write
1 method overrides FileStorage::write()
- InstallStorage::write in core/
lib/ Drupal/ Core/ Config/ InstallStorage.php - Overrides Drupal\Core\Config\FileStorage::write().
File
- core/
lib/ Drupal/ Core/ Config/ FileStorage.php, line 141
Class
- FileStorage
- Defines the file storage.
Namespace
Drupal\Core\ConfigCode
public function write($name, array $data) {
try {
$encoded_data = $this
->encode($data);
} catch (InvalidDataTypeException $e) {
throw new StorageException("Invalid data type in config {$name}: {$e->getMessage()}");
}
$target = $this
->getFilePath($name);
$status = @file_put_contents($target, $encoded_data);
if ($status === FALSE) {
// Try to make sure the directory exists and try writing again.
$this
->ensureStorage();
$status = @file_put_contents($target, $encoded_data);
}
if ($status === FALSE) {
throw new StorageException('Failed to write configuration file: ' . $this
->getFilePath($name));
}
else {
$this
->getFileSystem()
->chmod($target);
}
$this->fileCache
->set($target, $data);
return TRUE;
}