You are here

protected function ConfigImporter::importConfig in Drupal 9

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

Writes a configuration change from the source to the target storage.

Parameters

string $collection: The configuration collection.

string $op: The change operation.

string $name: The name of the configuration to process.

2 calls to ConfigImporter::importConfig()
ConfigImporter::processConfiguration in core/lib/Drupal/Core/Config/ConfigImporter.php
Processes a configuration change.
ConfigImporter::processExtension in core/lib/Drupal/Core/Config/ConfigImporter.php
Processes an extension change.

File

core/lib/Drupal/Core/Config/ConfigImporter.php, line 921

Class

ConfigImporter
Defines a configuration importer.

Namespace

Drupal\Core\Config

Code

protected function importConfig($collection, $op, $name) {

  // Allow config factory overriders to use a custom configuration object if
  // they are responsible for the collection.
  $overrider = $this->configManager
    ->getConfigCollectionInfo()
    ->getOverrideService($collection);
  if ($overrider) {
    $config = $overrider
      ->createConfigObject($name, $collection);
  }
  else {
    $config = new Config($name, $this->storageComparer
      ->getTargetStorage($collection), $this->eventDispatcher, $this->typedConfigManager);
  }
  if ($op == 'delete') {
    $config
      ->delete();
  }
  else {
    $data = $this->storageComparer
      ->getSourceStorage($collection)
      ->read($name);
    $config
      ->setData($data ? $data : []);
    $config
      ->save();
  }
  $this
    ->setProcessedConfiguration($collection, $op, $name);
}