Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RuleSetGenerator.php

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\DependencyResolver

Code

protected function createInstallOneOfRule(array $packages, $reason, $reasonData) : Rule {
    $literals = [];
    foreach ($packages as $package) {
        $literals[] = $package->id;
    }
    return new GenericRule($literals, $reason, $reasonData);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal