function RuleSetGenerator::createInstallOneOfRule
Creates a rule to install at least one of a set of packages
The rule is (A|B|C) with A, B and C different packages. If the given set of packages is empty an impossible rule is generated.
@phpstan-param ReasonData $reasonData
Parameters
non-empty-array<BasePackage> $packages The set of packages to choose from:
Rule::RULE_* $reason A RULE_* constant describing the reason for: generating this rule
mixed $reasonData Additional data like the root require or fix request info:
Return value
Rule The generated rule
1 call to RuleSetGenerator::createInstallOneOfRule()
- RuleSetGenerator::addRulesForRequest in vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ RuleSetGenerator.php
File
-
vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ RuleSetGenerator.php, line 88
Class
- RuleSetGenerator
- @author Nils Adermann <naderman@naderman.de> @phpstan-import-type ReasonData from Rule
Namespace
Composer\DependencyResolverCode
protected function createInstallOneOfRule(array $packages, $reason, $reasonData) : Rule {
$literals = [];
foreach ($packages as $package) {
$literals[] = $package->id;
}
return new GenericRule($literals, $reason, $reasonData);
}