function RootPackageLoader::extractAliases
Parameters
array<string, string> $requires:
list<array{package: string, version: string, alias: string, alias_normalized: string}> $aliases:
Return value
list<array{package: string, version: string, alias: string, alias_normalized: string}>
1 call to RootPackageLoader::extractAliases()
- RootPackageLoader::load in vendor/
composer/ composer/ src/ Composer/ Package/ Loader/ RootPackageLoader.php - @inheritDoc
File
-
vendor/
composer/ composer/ src/ Composer/ Package/ Loader/ RootPackageLoader.php, line 207
Class
- RootPackageLoader
- ArrayLoader built for the sole purpose of loading the root package
Namespace
Composer\Package\LoaderCode
private function extractAliases(array $requires, array $aliases) : array {
foreach ($requires as $reqName => $reqVersion) {
if (Preg::isMatchStrictGroups('{(?:^|\\| *|, *)([^,\\s#|]+)(?:#[^ ]+)? +as +([^,\\s|]+)(?:$| *\\|| *,)}', $reqVersion, $match)) {
$aliases[] = [
'package' => strtolower($reqName),
'version' => $this->versionParser
->normalize($match[1], $reqVersion),
'alias' => $match[2],
'alias_normalized' => $this->versionParser
->normalize($match[2], $reqVersion),
];
}
elseif (strpos($reqVersion, ' as ') !== false) {
throw new \UnexpectedValueException('Invalid alias definition in "' . $reqName . '": "' . $reqVersion . '". Aliases should be in the form "exact-version as other-exact-version".');
}
}
return $aliases;
}