You are here

class NullStorage in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Config/NullStorage.php \Drupal\Core\Config\NullStorage
  2. 9 core/lib/Drupal/Core/Config/NullStorage.php \Drupal\Core\Config\NullStorage

Defines a stub storage.

This storage is always empty; the controller reads and writes nothing.

The stub implementation is needed for synchronizing configuration during installation of a module, in which case all configuration being shipped with the module is known to be new. Therefore, the module installation process is able to short-circuit the full diff against the active configuration; the diff would yield all currently available configuration as items to remove, since they do not exist in the module's default configuration directory.

This also can be used for testing purposes.

Hierarchy

  • class \Drupal\Core\Config\NullStorage implements \Drupal\Core\Config\StorageInterface

Expanded class hierarchy of NullStorage

2 files declare their use of NullStorage
DrupalKernel.php in core/lib/Drupal/Core/DrupalKernel.php
NullStorageTest.php in core/tests/Drupal/Tests/Core/Config/NullStorageTest.php

File

core/lib/Drupal/Core/Config/NullStorage.php, line 19

Namespace

Drupal\Core\Config
View source
class NullStorage implements StorageInterface {

  /**
   * The storage collection.
   *
   * @var string
   */
  protected $collection;

  /**
   * Constructs a new NullStorage.
   *
   * @param string $collection
   *   (optional) The collection to store configuration in. Defaults to the
   *   default collection.
   */
  public function __construct($collection = StorageInterface::DEFAULT_COLLECTION) {
    $this->collection = $collection;
  }

  /**
   * {@inheritdoc}
   */
  public function exists($name) {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function read($name) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function readMultiple(array $names) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function write($name, array $data) {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function delete($name) {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function rename($name, $new_name) {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function encode($data) {
    return $data;
  }

  /**
   * {@inheritdoc}
   */
  public function decode($raw) {
    return $raw;
  }

  /**
   * {@inheritdoc}
   */
  public function listAll($prefix = '') {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function deleteAll($prefix = '') {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function createCollection($collection) {
    return new static($collection);
  }

  /**
   * {@inheritdoc}
   */
  public function getAllCollectionNames() {

    // Returns only non empty collections.
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function getCollectionName() {
    return $this->collection;
  }

}

Members