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

Breadcrumb

  1. Drupal Core 11.1.x

Comparator.php

Same filename in this branch
  1. 11.1.x vendor/sebastian/comparator/src/Comparator.php
  2. 11.1.x vendor/composer/semver/src/Comparator.php

Namespace

Symfony\Component\Finder\Comparator

File

vendor/symfony/finder/Comparator/Comparator.php

View source
<?php


/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\Finder\Comparator;


/**
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Comparator {
    private string $operator;
    public function __construct(string $target, string $operator = '==') {
        if (!\in_array($operator, [
            '>',
            '<',
            '>=',
            '<=',
            '==',
            '!=',
        ])) {
            throw new \InvalidArgumentException(\sprintf('Invalid operator "%s".', $operator));
        }
        $this->operator = $operator;
    }
    
    /**
     * Gets the target value.
     */
    public function getTarget() : string {
        return $this->target;
    }
    
    /**
     * Gets the comparison operator.
     */
    public function getOperator() : string {
        return $this->operator;
    }
    
    /**
     * Tests against the target.
     */
    public function test(mixed $test) : bool {
        return match ($this->operator) {    '>' => $test > $this->target,
            '>=' => $test >= $this->target,
            '<' => $test < $this->target,
            '<=' => $test <= $this->target,
            '!=' => $test != $this->target,
            default => $test == $this->target,
        
        };
    }

}

Classes

Title Deprecated Summary
Comparator @author Fabien Potencier <fabien@symfony.com>

API Navigation

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