You are here

public function DatabaseStorageExpirable::has in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/KeyValueStore/DatabaseStorageExpirable.php \Drupal\Core\KeyValueStore\DatabaseStorageExpirable::has()

Returns whether a given key exists in the store.

Parameters

string $key: The key to check.

Return value

bool TRUE if the key exists, FALSE otherwise.

Overrides DatabaseStorage::has

1 call to DatabaseStorageExpirable::has()
DatabaseStorageExpirable::doSetWithExpireIfNotExists in core/lib/Drupal/Core/KeyValueStore/DatabaseStorageExpirable.php
Sets a value for a given key with a time to live if it does not yet exist.

File

core/lib/Drupal/Core/KeyValueStore/DatabaseStorageExpirable.php, line 35

Class

DatabaseStorageExpirable
Defines a default key/value store implementation for expiring items.

Namespace

Drupal\Core\KeyValueStore

Code

public function has($key) {
  try {
    return (bool) $this->connection
      ->query('SELECT 1 FROM {' . $this->connection
      ->escapeTable($this->table) . '} WHERE [collection] = :collection AND [name] = :key AND [expire] > :now', [
      ':collection' => $this->collection,
      ':key' => $key,
      ':now' => REQUEST_TIME,
    ])
      ->fetchField();
  } catch (\Exception $e) {
    $this
      ->catchException($e);
    return FALSE;
  }
}