本文整理匯總了PHP中Composer\Repository\ArrayRepository::findPackage方法的典型用法代碼示例。如果您正苦於以下問題:PHP ArrayRepository::findPackage方法的具體用法?PHP ArrayRepository::findPackage怎麽用?PHP ArrayRepository::findPackage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Composer\Repository\ArrayRepository
的用法示例。
在下文中一共展示了ArrayRepository::findPackage方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: findPackage
public function findPackage($name, $version)
{
if (!$this->hasProviders()) {
return parent::findPackage($name, $version);
}
$versionParser = new VersionParser();
$version = $versionParser->normalize($version);
$name = strtolower($name);
foreach ($this->getProviderNames() as $providerName) {
if ($name === $providerName) {
$packages = $this->whatProvides(new Pool('dev'), $providerName);
foreach ($packages as $package) {
if ($name == $package->getName() && $version === $package->getVersion()) {
return $package;
}
}
}
}
}
示例2: findPackage
/**
* {@inheritDoc}
*/
public function findPackage($name, $constraint)
{
if (!$this->hasProviders()) {
return parent::findPackage($name, $constraint);
}
$name = strtolower($name);
if (!$constraint instanceof ConstraintInterface) {
$versionParser = new VersionParser();
$constraint = $versionParser->parseConstraints($constraint);
}
foreach ($this->getProviderNames() as $providerName) {
if ($name === $providerName) {
$packages = $this->whatProvides(new Pool('dev'), $providerName);
foreach ($packages as $package) {
if ($name === $package->getName()) {
$pkgConstraint = new Constraint('==', $package->getVersion());
if ($constraint->matches($pkgConstraint)) {
return $package;
}
}
}
break;
}
}
}