function State::getMultiple

Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/State/State.php \Drupal\Core\State\State::getMultiple()
  2. 10 core/lib/Drupal/Core/State/State.php \Drupal\Core\State\State::getMultiple()
  3. 11.x core/lib/Drupal/Core/State/State.php \Drupal\Core\State\State::getMultiple()

Overrides StateInterface::getMultiple

1 call to State::getMultiple()
State::get in core/lib/Drupal/Core/State/State.php
Returns the stored value for a given key.

File

core/lib/Drupal/Core/State/State.php, line 47

Class

State
Provides the state system using a key value store.

Namespace

Drupal\Core\State

Code

public function getMultiple(array $keys) {
    $values = [];
    $load = [];
    foreach ($keys as $key) {
        // Check if we have a value in the cache.
        if (isset($this->cache[$key])) {
            $values[$key] = $this->cache[$key];
        }
        elseif (!array_key_exists($key, $this->cache)) {
            $load[] = $key;
        }
    }
    if ($load) {
        $loaded_values = $this->keyValueStore
            ->getMultiple($load);
        foreach ($load as $key) {
            // If we find a value, even one that is NULL, add it to the cache and
            // return it.
            if (isset($loaded_values[$key]) || array_key_exists($key, $loaded_values)) {
                $values[$key] = $loaded_values[$key];
                $this->cache[$key] = $loaded_values[$key];
            }
            else {
                $this->cache[$key] = NULL;
            }
        }
    }
    return $values;
}

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