function ConfigImporter::processExtension
Processes an extension change.
Parameters
string $type: The type of extension, either 'module' or 'theme'.
string $op: The change operation.
string $name: The name of the extension to process.
1 call to ConfigImporter::processExtension()
- ConfigImporter::processExtensions in core/
lib/ Drupal/ Core/ Config/ ConfigImporter.php  - Processes extensions as a batch operation.
 
File
- 
              core/
lib/ Drupal/ Core/ Config/ ConfigImporter.php, line 875  
Class
- ConfigImporter
 - Defines a configuration importer.
 
Namespace
Drupal\Core\ConfigCode
protected function processExtension($type, $op, $name) {
  // Set the config installer to use the sync directory instead of the
  // extensions own default config directories.
  \Drupal::service('config.installer')->setSourceStorage($this->storageComparer
    ->getSourceStorage());
  if ($type == 'module') {
    $this->moduleInstaller
      ->{$op}([
      $name,
    ], FALSE);
    // Installing a module can cause a kernel boot therefore inject all the
    // services again.
    $this->reInjectMe();
    // During a module install or uninstall the container is rebuilt and the
    // module handler is called. This causes the container's instance of the
    // module handler not to have loaded all the enabled modules.
    $this->moduleHandler
      ->loadAll();
  }
  if ($type == 'theme') {
    // Theme uninstalls possible remove default or admin themes therefore we
    // need to import this before doing any. If there are no uninstalls and
    // the default or admin theme is changing this will be picked up whilst
    // processing configuration.
    if ($op == 'uninstall' && $this->processedSystemTheme === FALSE) {
      $this->importConfig(StorageInterface::DEFAULT_COLLECTION, 'update', 'system.theme');
      $this->configManager
        ->getConfigFactory()
        ->reset('system.theme');
      $this->processedSystemTheme = TRUE;
    }
    \Drupal::service('theme_installer')->{$op}([
      $name,
    ]);
  }
  $this->setProcessedExtension($type, $op, $name);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.