function FileStorage::write

Same name in other branches
  1. 9 core/lib/Drupal/Core/Config/FileStorage.php \Drupal\Core\Config\FileStorage::write()
  2. 10 core/lib/Drupal/Core/Config/FileStorage.php \Drupal\Core\Config\FileStorage::write()
  3. 11.x core/lib/Drupal/Core/Config/FileStorage.php \Drupal\Core\Config\FileStorage::write()

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\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 {
        $this->getFileSystem()
            ->chmod($target);
    }
    $this->fileCache
        ->set($target, $data);
    return TRUE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.