Chris@0: '\Drupal\Component\FileCache\FileCache', Chris@0: 'collection' => $collection, Chris@0: 'cache_backend_class' => NULL, Chris@0: 'cache_backend_configuration' => [], Chris@0: ]; Chris@0: Chris@0: $configuration = $configuration + $fallback_configuration; Chris@0: Chris@0: $class = $configuration['class']; Chris@0: return new $class(static::getPrefix(), $configuration['collection'], $configuration['cache_backend_class'], $configuration['cache_backend_configuration']); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Gets the configuration used for constructing future file cache objects. Chris@0: * Chris@0: * @return array Chris@0: * The configuration that is used. Chris@0: */ Chris@0: public static function getConfiguration() { Chris@0: return static::$configuration; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Sets the configuration to use for constructing future file cache objects. Chris@0: * Chris@0: * @param array $configuration Chris@0: * The configuration to use. Chris@0: */ Chris@0: public static function setConfiguration($configuration) { Chris@0: static::$configuration = $configuration; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns the cache prefix. Chris@0: * Chris@0: * @return string Chris@0: * The cache prefix. Chris@0: */ Chris@0: public static function getPrefix() { Chris@0: return static::$prefix; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Sets the cache prefix that should be used. Chris@0: * Chris@0: * Should be set to a secure, unique key to prevent cache pollution by a Chris@0: * third party. Chris@0: * Chris@0: * @param string $prefix Chris@0: * The cache prefix. Chris@0: */ Chris@0: public static function setPrefix($prefix) { Chris@0: static::$prefix = $prefix; Chris@0: } Chris@0: Chris@0: }