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 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;
}
doc_Drupal
2016-10-29 09:13:43
Comments
Leave a Comment

Please login to continue.