function FileCacheFactory::get

Same name in other branches
  1. 8.9.x core/lib/Drupal/Component/FileCache/FileCacheFactory.php \Drupal\Component\FileCache\FileCacheFactory::get()
  2. 10 core/lib/Drupal/Component/FileCache/FileCacheFactory.php \Drupal\Component\FileCache\FileCacheFactory::get()
  3. 11.x core/lib/Drupal/Component/FileCache/FileCacheFactory.php \Drupal\Component\FileCache\FileCacheFactory::get()

Instantiates a FileCache object for a given collection identifier.

Parameters

string $collection: The collection identifier for this FileCache.

array $default_configuration: (optional) The default configuration for this FileCache collection. This can be used to e.g. specify default usage of a FileCache class.

Return value

\Drupal\Component\FileCache\FileCacheInterface The initialized FileCache object.

13 calls to FileCacheFactory::get()
AnnotatedClassDiscovery::__construct in core/lib/Drupal/Component/Annotation/Plugin/Discovery/AnnotatedClassDiscovery.php
Constructs a new instance.
ExtensionDiscovery::__construct in core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
Constructs a new ExtensionDiscovery object.
ExtensionDiscoveryTest::testExtensionDiscoveryCache in core/tests/Drupal/Tests/Core/Extension/ExtensionDiscoveryTest.php
Tests changing extension discovery file cache objects to arrays.
FileCacheFactoryTest::testGet in core/tests/Drupal/Tests/Component/FileCache/FileCacheFactoryTest.php
@covers ::get
FileCacheFactoryTest::testGetConfigurationOverrides in core/tests/Drupal/Tests/Component/FileCache/FileCacheFactoryTest.php
@covers ::get

... See full list

File

core/lib/Drupal/Component/FileCache/FileCacheFactory.php, line 41

Class

FileCacheFactory
Creates a FileCache object.

Namespace

Drupal\Component\FileCache

Code

public static function get($collection, $default_configuration = []) {
    // If there is a special key in the configuration, disable FileCache completely.
    if (!empty(static::$configuration[static::DISABLE_CACHE])) {
        return new NullFileCache('', '');
    }
    $configuration = [];
    // Check for a collection specific setting first.
    if (isset(static::$configuration[$collection])) {
        $configuration += static::$configuration[$collection];
    }
    // Then check if a default configuration has been provided.
    if (!empty($default_configuration)) {
        $configuration += $default_configuration;
    }
    // Last check if a default setting has been provided.
    if (isset(static::$configuration['default'])) {
        $configuration += static::$configuration['default'];
    }
    // Ensure that all properties are set.
    $fallback_configuration = [
        'class' => '\\Drupal\\Component\\FileCache\\FileCache',
        'collection' => $collection,
        'cache_backend_class' => NULL,
        'cache_backend_configuration' => [],
    ];
    $configuration = $configuration + $fallback_configuration;
    $class = $configuration['class'];
    return new $class(static::getPrefix(), $configuration['collection'], $configuration['cache_backend_class'], $configuration['cache_backend_configuration']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.