Mercurial > hg > isophonics-drupal-site
comparison vendor/symfony/finder/Comparator/Comparator.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 /* | |
4 * This file is part of the Symfony package. | |
5 * | |
6 * (c) Fabien Potencier <fabien@symfony.com> | |
7 * | |
8 * For the full copyright and license information, please view the LICENSE | |
9 * file that was distributed with this source code. | |
10 */ | |
11 | |
12 namespace Symfony\Component\Finder\Comparator; | |
13 | |
14 /** | |
15 * Comparator. | |
16 * | |
17 * @author Fabien Potencier <fabien@symfony.com> | |
18 */ | |
19 class Comparator | |
20 { | |
21 private $target; | |
22 private $operator = '=='; | |
23 | |
24 /** | |
25 * Gets the target value. | |
26 * | |
27 * @return string The target value | |
28 */ | |
29 public function getTarget() | |
30 { | |
31 return $this->target; | |
32 } | |
33 | |
34 /** | |
35 * Sets the target value. | |
36 * | |
37 * @param string $target The target value | |
38 */ | |
39 public function setTarget($target) | |
40 { | |
41 $this->target = $target; | |
42 } | |
43 | |
44 /** | |
45 * Gets the comparison operator. | |
46 * | |
47 * @return string The operator | |
48 */ | |
49 public function getOperator() | |
50 { | |
51 return $this->operator; | |
52 } | |
53 | |
54 /** | |
55 * Sets the comparison operator. | |
56 * | |
57 * @param string $operator A valid operator | |
58 * | |
59 * @throws \InvalidArgumentException | |
60 */ | |
61 public function setOperator($operator) | |
62 { | |
63 if (!$operator) { | |
64 $operator = '=='; | |
65 } | |
66 | |
67 if (!in_array($operator, array('>', '<', '>=', '<=', '==', '!='))) { | |
68 throw new \InvalidArgumentException(sprintf('Invalid operator "%s".', $operator)); | |
69 } | |
70 | |
71 $this->operator = $operator; | |
72 } | |
73 | |
74 /** | |
75 * Tests against the target. | |
76 * | |
77 * @param mixed $test A test value | |
78 * | |
79 * @return bool | |
80 */ | |
81 public function test($test) | |
82 { | |
83 switch ($this->operator) { | |
84 case '>': | |
85 return $test > $this->target; | |
86 case '>=': | |
87 return $test >= $this->target; | |
88 case '<': | |
89 return $test < $this->target; | |
90 case '<=': | |
91 return $test <= $this->target; | |
92 case '!=': | |
93 return $test != $this->target; | |
94 } | |
95 | |
96 return $test == $this->target; | |
97 } | |
98 } |