Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Cache/NullBackend.php \Drupal\Core\Cache\NullBackend
  2. 9 core/lib/Drupal/Core/Cache/NullBackend.php \Drupal\Core\Cache\NullBackend

Defines a stub cache implementation.

The stub implementation is needed when database access is not yet available. Because Drupal's caching system never requires that cached data be present, these stub functions can short-circuit the process and sidestep the need for any persistent storage. Using this cache implementation during normal operations would have a negative impact on performance.

This also can be used for testing purposes.

Hierarchy

Expanded class hierarchy of NullBackend

Related topics

13 files declare their use of NullBackend
CachedStorageTest.php in core/tests/Drupal/Tests/Core/Config/CachedStorageTest.php
ContextDefinitionIsSatisfiedTest.php in core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php
ContextHandlerTest.php in core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php
Database.php in core/lib/Drupal/Core/Database/Database.php
DatabaseTest.php in core/tests/Drupal/Tests/Core/Database/DatabaseTest.php

... See full list

File

core/lib/Drupal/Core/Cache/NullBackend.php, line 18

Namespace

Drupal\Core\Cache
View source
class NullBackend implements CacheBackendInterface {

  /**
   * Constructs a NullBackend object.
   *
   * @param string $bin
   *   The cache bin for which the object is created.
   */
  public function __construct($bin) {
  }

  /**
   * {@inheritdoc}
   */
  public function get($cid, $allow_invalid = FALSE) {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function getMultiple(&$cids, $allow_invalid = FALSE) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function set($cid, $data, $expire = Cache::PERMANENT, array $tags = []) {
  }

  /**
   * {@inheritdoc}
   */
  public function setMultiple(array $items = []) {
  }

  /**
   * {@inheritdoc}
   */
  public function delete($cid) {
  }

  /**
   * {@inheritdoc}
   */
  public function deleteMultiple(array $cids) {
  }

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

  /**
   * {@inheritdoc}
   */
  public function invalidate($cid) {
  }

  /**
   * {@inheritdoc}
   */
  public function invalidateMultiple(array $cids) {
  }

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

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

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

}

Members

Namesort descending Modifiers Type Description Overrides
CacheBackendInterface::CACHE_PERMANENT constant Indicates that the item should never be removed unless explicitly deleted.
NullBackend::delete public function Deletes an item from the cache. Overrides CacheBackendInterface::delete 1
NullBackend::deleteAll public function Deletes all cache items in a bin. Overrides CacheBackendInterface::deleteAll 1
NullBackend::deleteMultiple public function Deletes multiple items from the cache. Overrides CacheBackendInterface::deleteMultiple 1
NullBackend::garbageCollection public function Performs garbage collection on a cache bin. Overrides CacheBackendInterface::garbageCollection
NullBackend::get public function Returns data from the persistent cache. Overrides CacheBackendInterface::get
NullBackend::getMultiple public function Returns data from the persistent cache when given an array of cache IDs. Overrides CacheBackendInterface::getMultiple
NullBackend::invalidate public function Marks a cache item as invalid. Overrides CacheBackendInterface::invalidate
NullBackend::invalidateAll public function Marks all cache items as invalid. Overrides CacheBackendInterface::invalidateAll
NullBackend::invalidateMultiple public function Marks cache items as invalid. Overrides CacheBackendInterface::invalidateMultiple
NullBackend::removeBin public function Remove a cache bin. Overrides CacheBackendInterface::removeBin
NullBackend::set public function Stores data in the persistent cache. Overrides CacheBackendInterface::set
NullBackend::setMultiple public function Store multiple items in the persistent cache. Overrides CacheBackendInterface::setMultiple
NullBackend::__construct public function Constructs a NullBackend object. 1