CacheFactory::get

public CacheFactory::get($bin)

Instantiates a cache backend class for a given cache bin.

By default, this returns an instance of the Drupal\Core\Cache\DatabaseBackend class.

Classes implementing Drupal\Core\Cache\CacheBackendInterface can register themselves both as a default implementation and for specific bins.

Parameters

string $bin: The cache bin for which a cache backend object should be returned.

Return value

\Drupal\Core\Cache\CacheBackendInterface The cache backend object associated with the specified bin.

Overrides CacheFactoryInterface::get

File

core/lib/Drupal/Core/Cache/CacheFactory.php, line 65

Class

CacheFactory

Namespace

Drupal\Core\Cache

Code

public function get($bin) {
  $cache_settings = $this->settings->get('cache');
  // First, look for a cache bin specific setting.
  if (isset($cache_settings['bins'][$bin])) {
    $service_name = $cache_settings['bins'][$bin];
  }
  // Second, use the default backend specified by the cache bin.
  elseif (isset($this->defaultBinBackends[$bin])) {
    $service_name = $this->defaultBinBackends[$bin];
  }
  // Third, use configured default backend.
  elseif (isset($cache_settings['default'])) {
    $service_name = $cache_settings['default'];
  }
  else {
    // Fall back to the database backend if nothing else is configured.
    $service_name = 'cache.backend.database';
  }
  return $this->container->get($service_name)->get($bin);
}
doc_Drupal
2016-10-29 08:49:34
Comments
Leave a Comment

Please login to continue.