Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::read()
  2. 9 core/lib/Drupal/Core/Config/DatabaseStorage.php \Drupal\Core\Config\DatabaseStorage::read()

Reads configuration data from the storage.

Parameters

string $name: The name of a configuration object to load.

Return value

array|false The configuration data stored for the configuration object name. If no configuration data exists for the given name, FALSE is returned.

Overrides StorageInterface::read

File

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

Class

DatabaseStorage
Defines the Database storage.

Namespace

Drupal\Core\Config

Code

public function read($name) {
  $data = FALSE;
  try {
    $raw = $this->connection
      ->query('SELECT [data] FROM {' . $this->connection
      ->escapeTable($this->table) . '} WHERE [collection] = :collection AND [name] = :name', [
      ':collection' => $this->collection,
      ':name' => $name,
    ], $this->options)
      ->fetchField();
    if ($raw !== FALSE) {
      $data = $this
        ->decode($raw);
    }
  } catch (\Exception $e) {
    if ($this->connection
      ->schema()
      ->tableExists($this->table)) {
      throw $e;
    }

    // If we attempt a read without actually having the table available,
    // return false so the caller can handle it.
  }
  return $data;
}