public FileStorage::write($name, array $data)
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
File
- core/lib/Drupal/Core/Config/FileStorage.php, line 140
Class
- FileStorage
- Defines the file storage.
Namespace
Drupal\Core\Config
Code
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 {
drupal_chmod($target);
}
$this->fileCache->set($target, $data);
return TRUE;
}
Please login to continue.