BootstrapConfigStorageFactory.php

Same filename in other branches
  1. 8.9.x core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
  2. 10 core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
  3. 11.x core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php

Namespace

Drupal\Core\Config

File

core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php

View source
<?php

namespace Drupal\Core\Config;

use Drupal\Core\Database\Database;
use Drupal\Core\Site\Settings;

/**
 * Defines a factory for retrieving the config storage used pre-kernel.
 */
class BootstrapConfigStorageFactory {
    
    /**
     * Returns a configuration storage implementation.
     *
     * @param $class_loader
     *   The class loader. Normally Composer's ClassLoader, as included by the
     *   front controller, but may also be decorated; e.g.,
     *   \Symfony\Component\ClassLoader\ApcClassLoader.
     *
     * @return \Drupal\Core\Config\StorageInterface
     *   A configuration storage implementation.
     */
    public static function get($class_loader = NULL) {
        $bootstrap_config_storage = Settings::get('bootstrap_config_storage');
        $storage_backend = FALSE;
        if (!empty($bootstrap_config_storage) && is_callable($bootstrap_config_storage)) {
            $storage_backend = call_user_func($bootstrap_config_storage, $class_loader);
        }
        // Fallback to the DatabaseStorage.
        return $storage_backend ?: self::getDatabaseStorage();
    }
    
    /**
     * Returns a Database configuration storage implementation.
     *
     * @return \Drupal\Core\Config\DatabaseStorage
     */
    public static function getDatabaseStorage() {
        return new DatabaseStorage(Database::getConnection(), 'config');
    }

}

Classes

Title Deprecated Summary
BootstrapConfigStorageFactory Defines a factory for retrieving the config storage used pre-kernel.

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