public function FileStorage::write

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 120

Class

FileStorage
Defines the file storage.

Namespace

Drupal\Core\Config

Code

public function write($name, array $data) {
  try {
    $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, $data);
  if ($status === FALSE) {
    // Try to make sure the directory exists and try writing again.
    $this->ensureStorage();
    $status = @file_put_contents($target, $data);
  }
  if ($status === FALSE) {
    throw new StorageException('Failed to write configuration file: ' . $this->getFilePath($name));
  }
  else {
    drupal_chmod($target);
  }
  return TRUE;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Config!FileStorage.php/function/FileStorage::write/8.1.x