You are here

public function ConfigManager::getConfigDependencyManager in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/ConfigManager.php \Drupal\Core\Config\ConfigManager::getConfigDependencyManager()

Creates and populates a ConfigDependencyManager object.

The configuration dependency manager is populated with data from the active store.

Return value

\Drupal\Core\Config\Entity\ConfigDependencyManager

Overrides ConfigManagerInterface::getConfigDependencyManager

2 calls to ConfigManager::getConfigDependencyManager()
ConfigManager::findConfigEntityDependents in core/lib/Drupal/Core/Config/ConfigManager.php
Finds config entities that are dependent on extensions or entities.
ConfigManager::getConfigEntitiesToChangeOnDependencyRemoval in core/lib/Drupal/Core/Config/ConfigManager.php
Lists which config entities to update and delete on removal of a dependency.

File

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

Class

ConfigManager
The ConfigManager provides helper functions for the configuration system.

Namespace

Drupal\Core\Config

Code

public function getConfigDependencyManager() {
  $dependency_manager = new ConfigDependencyManager();

  // Read all configuration using the factory. This ensures that multiple
  // deletes during the same request benefit from the static cache. Using the
  // factory also ensures configuration entity dependency discovery has no
  // dependencies on the config entity classes. Assume data with UUID is a
  // config entity. Only configuration entities can be depended on so we can
  // ignore everything else.
  $data = array_map(function ($config) {
    $data = $config
      ->get();
    if (isset($data['uuid'])) {
      return $data;
    }
    return FALSE;
  }, $this->configFactory
    ->loadMultiple($this->activeStorage
    ->listAll()));
  $dependency_manager
    ->setData(array_filter($data));
  return $dependency_manager;
}