function LibraryDependencyResolver::getLibrariesWithDependencies
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::getLibrariesWithDependencies()
- 10 core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::getLibrariesWithDependencies()
- 9 core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::getLibrariesWithDependencies()
- 8.9.x core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php \Drupal\Core\Asset\LibraryDependencyResolver::getLibrariesWithDependencies()
Gets the given libraries with their dependencies.
Given ['core/a', 'core/b', 'core/c'], with core/a depending on core/c and core/b on core/d, returns ['core/a', 'core/b', 'core/c', 'core/d'].
Parameters
string[] $libraries: A list of libraries, in the order they should be loaded.
Return value
string[] A list of libraries, in the order they should be loaded, including their dependencies.
Overrides LibraryDependencyResolverInterface::getLibrariesWithDependencies
File
-
core/
lib/ Drupal/ Core/ Asset/ LibraryDependencyResolver.php, line 32
Class
- LibraryDependencyResolver
- Resolves the dependencies of asset (CSS/JavaScript) libraries.
Namespace
Drupal\Core\AssetCode
public function getLibrariesWithDependencies(array $libraries) {
$libraries_graph = $this->doGetDependencies($libraries);
$libraries_graph = $this->doProcessBeforeAfter($libraries_graph);
$graph_object = new Graph($libraries_graph);
$graph = $graph_object->searchAndSort();
uasort($graph, function ($a, $b) {
if ($a['weight'] == $b['weight']) {
return 0;
}
return $a['weight'] < $b['weight'] ? 1 : -1;
});
return array_keys($graph);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.