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. 10 core/lib/Drupal/Core/Config/ConfigFactory.php \Drupal\Core\Config\ConfigFactory::rename()

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.