protected function FeaturesManager::getConfigDependency in Features 8.3
Same name and namespace in other branches
- 8.4 src/FeaturesManager.php \Drupal\features\FeaturesManager::getConfigDependency()
Helper function to update dependencies array for a specific config item.
Parameters
\Drupal\features\ConfigurationItem $config: a config item.
array $module_list:
Return value
array $dependencies
2 calls to FeaturesManager::getConfigDependency()
- FeaturesManager::assignConfigPackage in src/
FeaturesManager.php - Assigns a set of configuration items to a given package or profile.
- FeaturesManager::assignPackageDependencies in src/
FeaturesManager.php - Assigns dependencies from config items into the package.
File
- src/
FeaturesManager.php, line 564
Class
- FeaturesManager
- The FeaturesManager provides helper functions for building packages.
Namespace
Drupal\featuresCode
protected function getConfigDependency(ConfigurationItem $config, array $module_list = []) {
$dependencies = [];
$type = $config
->getType();
// For configuration in the InstallStorage::CONFIG_INSTALL_DIRECTORY
// directory, set any dependencies of the configuration item as package
// dependencies.
// As its name implies, the core-provided
// InstallStorage::CONFIG_OPTIONAL_DIRECTORY should not create
// dependencies.
if ($config
->getSubdirectory() === InstallStorage::CONFIG_INSTALL_DIRECTORY) {
if ($type === FeaturesManagerInterface::SYSTEM_SIMPLE_CONFIG) {
$dependencies[] = strtok($config
->getName(), '.');
}
else {
$dependencies[] = $this->entityTypeManager
->getDefinition($type)
->getProvider();
}
if (isset($config
->getData()['dependencies']['module'])) {
$dependencies = array_merge($dependencies, $config
->getData()['dependencies']['module']);
}
// Only return dependencies for installed modules and not, for example,
// 'core'.
$dependencies = array_intersect($dependencies, array_keys($module_list));
}
return $dependencies;
}