public function 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');
  if (isset($cache_settings['bins'][$bin])) {
    $service_name = $cache_settings['bins'][$bin];
  }
  elseif (isset($cache_settings['default'])) {
    $service_name = $cache_settings['default'];
  }
  elseif (isset($this->defaultBinBackends[$bin])) {
    $service_name = $this->defaultBinBackends[$bin];
  }
  else {
    $service_name = 'cache.backend.database';
  }
  return $this->container->get($service_name)->get($bin);
}

© 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!CacheFactory.php/function/CacheFactory::get/8.1.x