1 | <?php |
||
6 | abstract class Expression |
||
7 | { |
||
8 | |||
9 | /** |
||
10 | * @param $expression |
||
11 | * @param array ...$values |
||
12 | * @return CompositeExpression |
||
13 | * @throws \InvalidArgumentException |
||
14 | */ |
||
15 | final public function and($expression, ...$values): CompositeExpression |
||
20 | |||
21 | /** |
||
22 | * @param $expression |
||
23 | * @param array ...$values |
||
24 | * @return CompositeExpression |
||
25 | * @throws \InvalidArgumentException |
||
26 | */ |
||
27 | final public function or($expression, ...$values): CompositeExpression |
||
32 | |||
33 | /** |
||
34 | * @param $expression |
||
35 | * @param array ...$values |
||
36 | * @return Expression |
||
37 | * @throws \InvalidArgumentException |
||
38 | */ |
||
39 | final public static function where($expression, ...$values): self |
||
52 | |||
53 | /** |
||
54 | * @param $expression |
||
55 | * @param array ...$values |
||
56 | * @return GroupExpression |
||
57 | * @throws \InvalidArgumentException |
||
58 | */ |
||
59 | final public static function group($expression, ...$values): GroupExpression |
||
63 | |||
64 | /** |
||
65 | * @param $expression |
||
66 | * @param array ...$values |
||
67 | * @return NegatedExpression |
||
68 | * @throws \InvalidArgumentException |
||
69 | */ |
||
70 | final public static function not($expression, ...$values): NegatedExpression |
||
74 | |||
75 | /** |
||
76 | * @param array $values |
||
77 | * @return array |
||
78 | * @throws \InvalidArgumentException |
||
79 | */ |
||
80 | final private static function valuesFactory(array $values): array |
||
95 | |||
96 | /** |
||
97 | * @return string |
||
98 | */ |
||
99 | abstract public function __toString(): string; |
||
100 | |||
101 | /** |
||
102 | * @return array |
||
103 | */ |
||
104 | abstract public function getValues(): array; |
||
105 | } |
||
106 |