function ConfigFactory::rename

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/ConfigFactory.php \Drupal\Core\Config\ConfigFactory::rename()
  2. 8.9.x core/lib/Drupal/Core/Config/ConfigFactory.php \Drupal\Core\Config\ConfigFactory::rename()
  3. 11.x 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);
  $event_name = $this->storage
    ->getCollectionName() === StorageInterface::DEFAULT_COLLECTION ? ConfigEvents::RENAME : ConfigCollectionEvents::RENAME_IN_COLLECTION;
  $this->eventDispatcher
    ->dispatch(new ConfigRenameEvent($config, $old_name), $event_name);
  return $this;
}

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