public function LocaleProjectStorage::getMultiple in Drupal 9
Same name and namespace in other branches
- 8 core/modules/locale/src/LocaleProjectStorage.php \Drupal\locale\LocaleProjectStorage::getMultiple()
Returns a list of project records.
Parameters
array $keys: A list of keys to retrieve.
Return value
array An associative array of items successfully returned, indexed by key.
Overrides LocaleProjectStorageInterface::getMultiple
1 call to LocaleProjectStorage::getMultiple()
- LocaleProjectStorage::get in core/
modules/ locale/ src/ LocaleProjectStorage.php - Returns the stored value for a given key.
File
- core/
modules/ locale/ src/ LocaleProjectStorage.php, line 54
Class
- LocaleProjectStorage
- Provides the locale project storage system using a key value store.
Namespace
Drupal\localeCode
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])) {
$values[$key] = $loaded_values[$key];
$this->cache[$key] = $loaded_values[$key];
}
else {
$this->cache[$key] = NULL;
}
}
}
return $values;
}