public ModuleHandler::buildModuleDependencies(array $modules)
Determines which modules require and are required by each module.
array $modules: An array of module objects keyed by module name. Each object contains information discovered during a Drupal\Core\Extension\ExtensionDiscovery scan.
The same array with the new keys for each module:
Overrides ModuleHandlerInterface::buildModuleDependencies
\Drupal\Core\Extension\ExtensionDiscovery
public function buildModuleDependencies(array $modules) { foreach ($modules as $module) { $graph[$module->getName()]['edges'] = array(); if (isset($module->info['dependencies']) && is_array($module->info['dependencies'])) { foreach ($module->info['dependencies'] as $dependency) { $dependency_data = static::parseDependency($dependency); $graph[$module->getName()]['edges'][$dependency_data['name']] = $dependency_data; } } } $graph_object = new Graph($graph); $graph = $graph_object->searchAndSort(); foreach ($graph as $module_name => $data) { $modules[$module_name]->required_by = isset($data['reverse_paths']) ? $data['reverse_paths'] : array(); $modules[$module_name]->requires = isset($data['paths']) ? $data['paths'] : array(); $modules[$module_name]->sort = $data['weight']; } return $modules; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Extension!ModuleHandler.php/function/ModuleHandler::buildModuleDependencies/8.1.x