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

Breadcrumb

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

class Requirement

@psalm-immutable

@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

Hierarchy

  • class \PHPUnit\Metadata\Version\Requirement

Expanded class hierarchy of Requirement

4 files declare their use of Requirement
Metadata.php in vendor/phpunit/phpunit/src/Metadata/Metadata.php
RequiresPhp.php in vendor/phpunit/phpunit/src/Metadata/RequiresPhp.php
RequiresPhpExtension.php in vendor/phpunit/phpunit/src/Metadata/RequiresPhpExtension.php
RequiresPhpunit.php in vendor/phpunit/phpunit/src/Metadata/RequiresPhpunit.php
1 string reference to 'Requirement'
XmlFileLoader::parseConfigs in vendor/symfony/routing/Loader/XmlFileLoader.php
Parses the config elements (default, requirement, option).

File

vendor/phpunit/phpunit/src/Metadata/Version/Requirement.php, line 24

Namespace

PHPUnit\Metadata\Version
View source
abstract class Requirement {
    private const VERSION_COMPARISON = '/(?P<operator>[<>=!]{0,2})\\s*(?P<version>[\\d\\.-]+(dev|(RC|alpha|beta)[\\d\\.])?)[ \\t]*\\r?$/m';
    
    /**
     * @throws InvalidVersionOperatorException
     * @throws InvalidVersionRequirementException
     */
    public static function from(string $versionRequirement) : self {
        try {
            return new ConstraintRequirement((new VersionConstraintParser())->parse($versionRequirement));
        } catch (UnsupportedVersionConstraintException) {
            if (preg_match(self::VERSION_COMPARISON, $versionRequirement, $matches)) {
                return new ComparisonRequirement($matches['version'], new VersionComparisonOperator(!empty($matches['operator']) ? $matches['operator'] : '>='));
            }
        }
        throw new InvalidVersionRequirementException();
    }
    public abstract function isSatisfiedBy(string $version) : bool;
    public abstract function asString() : string;

}

Members

Title Sort descending Modifiers Object type Summary Overrides
Requirement::asString abstract public function 2
Requirement::from public static function
Requirement::isSatisfiedBy abstract public function 2
Requirement::VERSION_COMPARISON private constant
RSS feed
Powered by Drupal