public CachedStorage::readMultiple(array $names)
Reads configuration data from the storage.
Parameters
array $names: List of names of the configuration objects to load.
Return value
array A list of the configuration data stored for the configuration object name that could be loaded for the passed list of names.
Overrides StorageInterface::readMultiple
File
- core/lib/Drupal/Core/Config/CachedStorage.php, line 82
Class
- CachedStorage
- Defines the cached storage.
Namespace
Drupal\Core\Config
Code
public function readMultiple(array $names) { $data_to_return = array(); $cache_keys_map = $this->getCacheKeys($names); $cache_keys = array_values($cache_keys_map); $cached_list = $this->cache->getMultiple($cache_keys); if (!empty($cache_keys)) { // $cache_keys_map contains the full $name => $cache_key map, while // $cache_keys contains just the $cache_key values that weren't found in // the cache. // @see \Drupal\Core\Cache\CacheBackendInterface::getMultiple() $names_to_get = array_keys(array_intersect($cache_keys_map, $cache_keys)); $list = $this->storage->readMultiple($names_to_get); // Cache configuration objects that were loaded from the storage, cache // missing configuration objects as an explicit FALSE. $items = array(); foreach ($names_to_get as $name) { $data = isset($list[$name]) ? $list[$name] : FALSE; $data_to_return[$name] = $data; $items[$cache_keys_map[$name]] = array('data' => $data); } $this->cache->setMultiple($items); } // Add the configuration objects from the cache to the list. $cache_keys_inverse_map = array_flip($cache_keys_map); foreach ($cached_list as $cache_key => $cache) { $name = $cache_keys_inverse_map[$cache_key]; $data_to_return[$name] = $cache->data; } // Ensure that only existing configuration objects are returned, filter out // cached information about missing objects. return array_filter($data_to_return); }
Please login to continue.