public function BackendChain::get in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Cache/BackendChain.php \Drupal\Core\Cache\BackendChain::get()
Returns data from the persistent cache.
Parameters
string $cid: The cache ID of the data to retrieve.
bool $allow_invalid: (optional) If TRUE, a cache item may be returned even if it is expired or has been invalidated. Such items may sometimes be preferred, if the alternative is recalculating the value stored in the cache, especially if another concurrent request is already recalculating the same value. The "valid" property of the returned object indicates whether the item is valid or not. Defaults to FALSE.
Return value
object|false The cache item or FALSE on failure.
Overrides CacheBackendInterface::get
See also
\Drupal\Core\Cache\CacheBackendInterface::getMultiple()
File
- core/
lib/ Drupal/ Core/ Cache/ BackendChain.php, line 65
Class
- BackendChain
- Defines a chained cache implementation for combining multiple cache backends.
Namespace
Drupal\Core\CacheCode
public function get($cid, $allow_invalid = FALSE) {
foreach ($this->backends as $index => $backend) {
if (($return = $backend
->get($cid, $allow_invalid)) !== FALSE) {
// We found a result, propagate it to all missed backends.
if ($index > 0) {
for ($i = $index - 1; 0 <= $i; --$i) {
$this->backends[$i]
->set($cid, $return->data, $return->expire, $return->tags);
}
}
return $return;
}
}
return FALSE;
}