You are here

public function ConfigFactory::rename in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Config/ConfigFactory.php \Drupal\Core\Config\ConfigFactory::rename()

Renames a configuration object using the storage.

Parameters

string $old_name: The old name of the configuration object.

string $new_name: The new name of the configuration object.

Return value

$this

Overrides ConfigFactoryInterface::rename

File

core/lib/Drupal/Core/Config/ConfigFactory.php, line 252

Class

ConfigFactory
Defines the configuration object factory.

Namespace

Drupal\Core\Config

Code

public function rename($old_name, $new_name) {
  Cache::invalidateTags($this
    ->get($old_name)
    ->getCacheTags());
  $this->storage
    ->rename($old_name, $new_name);

  // Clear out the static cache of any references to the old name.
  foreach ($this
    ->getConfigCacheKeys($old_name) as $old_cache_key) {
    unset($this->cache[$old_cache_key]);
  }

  // Prime the cache and load the configuration with the correct overrides.
  $config = $this
    ->get($new_name);
  $this->eventDispatcher
    ->dispatch(new ConfigRenameEvent($config, $old_name), ConfigEvents::RENAME);
  return $this;
}