function ComposerRepository::getPackageNames
Parameters
string|null $packageFilter Package pattern filter which can include "*" as a wildcard:
Return value
string[]
2 calls to ComposerRepository::getPackageNames()
- ComposerRepository::getVendorNames in vendor/
composer/ composer/ src/ Composer/ Repository/ ComposerRepository.php - ComposerRepository::search in vendor/
composer/ composer/ src/ Composer/ Repository/ ComposerRepository.php - @inheritDoc
File
-
vendor/
composer/ composer/ src/ Composer/ Repository/ ComposerRepository.php, line 362
Class
- ComposerRepository
- @author Jordi Boggiano <j.boggiano@seld.be>
Namespace
Composer\RepositoryCode
public function getPackageNames(?string $packageFilter = null) {
$hasProviders = $this->hasProviders();
$filterResults = static function (array $results) : array {
return $results;
};
if (null !== $packageFilter && '' !== $packageFilter) {
$packageFilterRegex = BasePackage::packageNameToRegexp($packageFilter);
$filterResults = static function (array $results) use ($packageFilterRegex) : array {
/** @var list<string> $results */
return Preg::grep($packageFilterRegex, $results);
};
}
if ($this->lazyProvidersUrl) {
if (is_array($this->availablePackages)) {
return $filterResults(array_keys($this->availablePackages));
}
if ($this->listUrl) {
// no need to call $filterResults here as the $packageFilter is applied in the function itself
return $this->loadPackageList($packageFilter);
}
if ($this->hasPartialPackages() && $this->partialPackagesByName !== null) {
return $filterResults(array_keys($this->partialPackagesByName));
}
return [];
}
if ($hasProviders) {
return $filterResults($this->getProviderNames());
}
$names = [];
foreach ($this->getPackages() as $package) {
$names[] = $package->getPrettyName();
}
return $filterResults($names);
}