ApcuBackendFactory.php
Same filename in other branches
Namespace
Drupal\Core\CacheFile
-
core/
lib/ Drupal/ Core/ Cache/ ApcuBackendFactory.php
View source
<?php
namespace Drupal\Core\Cache;
use Drupal\Component\Datetime\TimeInterface;
use Drupal\Core\Site\Settings;
class ApcuBackendFactory implements CacheFactoryInterface {
/**
* The site prefix string.
*
* @var string
*/
protected $sitePrefix;
/**
* The cache tags checksum provider.
*
* @var \Drupal\Core\Cache\CacheTagsChecksumInterface
*/
protected $checksumProvider;
/**
* The APCU backend class to use.
*
* @var string
*/
protected $backendClass;
/**
* Constructs an ApcuBackendFactory object.
*
* @param string $root
* The app root.
* @param string $site_path
* The site path.
* @param \Drupal\Core\Cache\CacheTagsChecksumInterface $checksum_provider
* The cache tags checksum provider.
* @param \Drupal\Component\Datetime\TimeInterface|null $time
* The time service.
*/
public function __construct($root, $site_path, CacheTagsChecksumInterface $checksum_provider, ?TimeInterface $time = NULL) {
$this->sitePrefix = Settings::getApcuPrefix('apcu_backend', $root, $site_path);
$this->checksumProvider = $checksum_provider;
$this->backendClass = 'Drupal\\Core\\Cache\\ApcuBackend';
if (!$time) {
@trigger_error('Calling ' . __METHOD__ . '() without the $time argument is deprecated in drupal:10.3.0 and it will be required in drupal:11.0.0. See https://www.drupal.org/node/3387233', E_USER_DEPRECATED);
$this->time = \Drupal::service(TimeInterface::class);
}
}
/**
* Gets ApcuBackend for the specified cache bin.
*
* @param $bin
* The cache bin for which the object is created.
*
* @return \Drupal\Core\Cache\ApcuBackend
* The cache backend object for the specified cache bin.
*/
public function get($bin) {
return new $this->backendClass($bin, $this->sitePrefix, $this->checksumProvider, $this->time);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
ApcuBackendFactory |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.