You are here

public function DatabaseStorage::write in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::write()
  2. 10 core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::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

File

core/lib/Drupal/Core/Config/DatabaseStorage.php, line 120

Class

DatabaseStorage
Defines the Database storage.

Namespace

Drupal\Core\Config

Code

public function write($name, array $data) {
  $data = $this
    ->encode($data);
  try {
    return $this
      ->doWrite($name, $data);
  } catch (\Exception $e) {

    // If there was an exception, try to create the table.
    if ($this
      ->ensureTableExists()) {
      return $this
        ->doWrite($name, $data);
    }

    // Some other failure that we can not recover from.
    throw $e;
  }
}