class MemoryStorage

Defines a default key/value store implementation.

Hierarchy

Expanded class hierarchy of MemoryStorage

File

drupal/core/lib/Drupal/Core/KeyValueStore/MemoryStorage.php, line 13
Contains Drupal\Core\KeyValueStore\MemoryStorage.

Namespace

Drupal\Core\KeyValueStore
View source
class MemoryStorage extends StorageBase {

  /**
   * The actual storage of key-value pairs.
   *
   * @var array
   */
  protected $data = array();

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::get().
   */
  public function get($key) {
    return array_key_exists($key, $this->data) ? $this->data[$key] : NULL;
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::getMultiple().
   */
  public function getMultiple(array $keys) {
    return array_intersect_key($this->data, array_flip($keys));
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::getAll().
   */
  public function getAll() {
    return $this->data;
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::set().
   */
  public function set($key, $value) {
    $this->data[$key] = $value;
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::setIfNotExists().
   */
  public function setIfNotExists($key, $value) {
    if (!isset($this->data[$key])) {
      $this->data[$key] = $value;
      return TRUE;
    }
    return FALSE;
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::setMultiple().
   */
  public function setMultiple(array $data) {
    $this->data = $data + $this->data;
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::delete().
   */
  public function delete($key) {
    unset($this->data[$key]);
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::deleteMultiple().
   */
  public function deleteMultiple(array $keys) {
    foreach ($keys as $key) {
      unset($this->data[$key]);
    }
  }

  /**
   * Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::deleteAll().
   */
  public function deleteAll() {
    $this->data = array();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MemoryStorage::$data protected property The actual storage of key-value pairs.
MemoryStorage::delete public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::delete(). Overrides StorageBase::delete
MemoryStorage::deleteAll public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::deleteAll(). Overrides KeyValueStoreInterface::deleteAll
MemoryStorage::deleteMultiple public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::deleteMultiple(). Overrides KeyValueStoreInterface::deleteMultiple
MemoryStorage::get public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::get(). Overrides StorageBase::get
MemoryStorage::getAll public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::getAll(). Overrides KeyValueStoreInterface::getAll
MemoryStorage::getMultiple public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::getMultiple(). Overrides KeyValueStoreInterface::getMultiple
MemoryStorage::set public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::set(). Overrides KeyValueStoreInterface::set
MemoryStorage::setIfNotExists public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::setIfNotExists(). Overrides KeyValueStoreInterface::setIfNotExists
MemoryStorage::setMultiple public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::setMultiple(). Overrides StorageBase::setMultiple
StorageBase::$collection protected property The name of the collection holding key and value pairs.
StorageBase::getCollectionName public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::getCollectionName(). Overrides KeyValueStoreInterface::getCollectionName
StorageBase::__construct public function Implements Drupal\Core\KeyValueStore\KeyValueStoreInterface::__construct(). 1