public function BackendChain::get

public BackendChain::get($cid, $allow_invalid = FALSE)

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 73

Class

BackendChain
Defines a chained cache implementation for combining multiple cache backends.

Namespace

Drupal\Core\Cache

Code

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;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Cache!BackendChain.php/function/BackendChain::get/8.1.x