class MemoryStorage

Same name in this branch
  1. 11.x core/lib/Drupal/Core/Config/MemoryStorage.php \Drupal\Core\Config\MemoryStorage
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/MemoryStorage.php \Drupal\Core\Config\MemoryStorage
  2. 9 core/lib/Drupal/Core/KeyValueStore/MemoryStorage.php \Drupal\Core\KeyValueStore\MemoryStorage
  3. 8.9.x core/lib/Drupal/Core/Config/MemoryStorage.php \Drupal\Core\Config\MemoryStorage
  4. 8.9.x core/lib/Drupal/Core/KeyValueStore/MemoryStorage.php \Drupal\Core\KeyValueStore\MemoryStorage
  5. 10 core/lib/Drupal/Core/Config/MemoryStorage.php \Drupal\Core\Config\MemoryStorage
  6. 10 core/lib/Drupal/Core/KeyValueStore/MemoryStorage.php \Drupal\Core\KeyValueStore\MemoryStorage

Defines a default key/value store implementation.

Hierarchy

Expanded class hierarchy of MemoryStorage

File

core/lib/Drupal/Core/KeyValueStore/MemoryStorage.php, line 8

Namespace

Drupal\Core\KeyValueStore
View source
class MemoryStorage extends StorageBase {
    
    /**
     * The actual storage of key-value pairs.
     *
     * @var array
     */
    protected $data = [];
    
    /**
     * {@inheritdoc}
     */
    public function has($key) {
        return array_key_exists($key, $this->data);
    }
    
    /**
     * {@inheritdoc}
     */
    public function get($key, $default = NULL) {
        return array_key_exists($key, $this->data) ? $this->data[$key] : $default;
    }
    
    /**
     * {@inheritdoc}
     */
    public function getMultiple(array $keys) {
        return array_intersect_key($this->data, array_flip($keys));
    }
    
    /**
     * {@inheritdoc}
     */
    public function getAll() {
        return $this->data;
    }
    
    /**
     * {@inheritdoc}
     */
    public function set($key, $value) {
        $this->data[$key] = $value;
    }
    
    /**
     * {@inheritdoc}
     */
    public function setIfNotExists($key, $value) {
        if (!isset($this->data[$key])) {
            $this->data[$key] = $value;
            return TRUE;
        }
        return FALSE;
    }
    
    /**
     * {@inheritdoc}
     */
    public function setMultiple(array $data) {
        $this->data = $data + $this->data;
    }
    
    /**
     * {@inheritdoc}
     */
    public function rename($key, $new_key) {
        if ($key !== $new_key) {
            $this->data[$new_key] = $this->data[$key];
            unset($this->data[$key]);
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public function delete($key) {
        unset($this->data[$key]);
    }
    
    /**
     * {@inheritdoc}
     */
    public function deleteMultiple(array $keys) {
        foreach ($keys as $key) {
            unset($this->data[$key]);
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public function deleteAll() {
        $this->data = [];
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
MemoryStorage::$data protected property The actual storage of key-value pairs.
MemoryStorage::delete public function Deletes an item from the key/value store. Overrides StorageBase::delete
MemoryStorage::deleteAll public function Deletes all items from the key/value store. Overrides KeyValueStoreInterface::deleteAll
MemoryStorage::deleteMultiple public function Deletes multiple items from the key/value store. Overrides KeyValueStoreInterface::deleteMultiple
MemoryStorage::get public function Returns the stored value for a given key. Overrides StorageBase::get
MemoryStorage::getAll public function Returns all stored key/value pairs in the collection. Overrides KeyValueStoreInterface::getAll
MemoryStorage::getMultiple public function Returns the stored key/value pairs for a given set of keys. Overrides KeyValueStoreInterface::getMultiple
MemoryStorage::has public function Returns whether a given key exists in the store. Overrides KeyValueStoreInterface::has
MemoryStorage::rename public function Renames a key. Overrides KeyValueStoreInterface::rename
MemoryStorage::set public function Saves a value for a given key. Overrides KeyValueStoreInterface::set
MemoryStorage::setIfNotExists public function Saves a value for a given key if it does not exist yet. Overrides KeyValueStoreInterface::setIfNotExists
MemoryStorage::setMultiple public function Saves key/value pairs. Overrides StorageBase::setMultiple
StorageBase::$collection protected property The name of the collection holding key and value pairs.
StorageBase::getCollectionName public function Returns the name of this collection. Overrides KeyValueStoreInterface::getCollectionName
StorageBase::__construct public function 1

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