Same filename and directory in other branches
  1. 8.9.x core/lib/Drupal/Core/Config/ImmutableConfig.php
  2. 9 core/lib/Drupal/Core/Config/ImmutableConfig.php

Namespace

Drupal\Core\Config

File

core/lib/Drupal/Core/Config/ImmutableConfig.php
View source
<?php

namespace Drupal\Core\Config;


/**
 * Defines the immutable configuration object.
 *
 * Encapsulates all capabilities needed for runtime configuration handling
 * except being able to change the configuration.
 *
 * If you need to be able to change configuration use
 * \Drupal\Core\Form\ConfigFormBaseTrait or
 * \Drupal\Core\Config\ConfigFactoryInterface::getEditable().
 *
 * @see \Drupal\Core\Form\ConfigFormBaseTrait
 * @see \Drupal\Core\Config\ConfigFactoryInterface::getEditable()
 * @see \Drupal\Core\Config\ConfigFactoryInterface::get()
 *
 * @ingroup config_api
 */
class ImmutableConfig extends Config {

  /**
   * {@inheritdoc}
   */
  public function set($key, $value) {
    throw new ImmutableConfigException("Can not set values on immutable configuration {$this->getName()}:{$key}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object");
  }

  /**
   * {@inheritdoc}
   */
  public function clear($key) {
    throw new ImmutableConfigException("Can not clear {$key} key in immutable configuration {$this->getName()}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object");
  }

  /**
   * {@inheritdoc}
   */
  public function save($has_trusted_data = FALSE) {
    throw new ImmutableConfigException("Can not save immutable configuration {$this->getName()}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object");
  }

  /**
   * {@inheritdoc}
   */
  public function delete() {
    throw new ImmutableConfigException("Can not delete immutable configuration {$this->getName()}. Use \\Drupal\\Core\\Config\\ConfigFactoryInterface::getEditable() to retrieve a mutable configuration object");
  }

}

Classes

Namesort descending Description
ImmutableConfig Defines the immutable configuration object.