function DatabaseStorage::read

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

Overrides StorageInterface::read

File

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

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;
}

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