38 lines
964 B
PHP
38 lines
964 B
PHP
|
<?php
|
||
|
namespace DatabaseHelper\enums;
|
||
|
|
||
|
use InvalidArgumentException;
|
||
|
|
||
|
enum Operator
|
||
|
{
|
||
|
case EQUAL;
|
||
|
case NOT_EQUAL;
|
||
|
case GREATER;
|
||
|
case GREATER_EQUAL;
|
||
|
case LESS;
|
||
|
case LESS_EQUAL;
|
||
|
|
||
|
public static function fromString(string $operator): self {
|
||
|
return match ($operator) {
|
||
|
'=' => self::EQUAL,
|
||
|
'!=' => self::NOT_EQUAL,
|
||
|
'>' => self::GREATER,
|
||
|
'>=' => self::GREATER_EQUAL,
|
||
|
'<' => self::LESS,
|
||
|
'<=' => self::LESS_EQUAL,
|
||
|
default => throw new InvalidArgumentException("Invalid operator: $operator"),
|
||
|
};
|
||
|
}
|
||
|
|
||
|
public function toString(): string {
|
||
|
return match ($this) {
|
||
|
self::EQUAL => '=',
|
||
|
self::NOT_EQUAL => '!=',
|
||
|
self::GREATER => '>',
|
||
|
self::GREATER_EQUAL => '>=',
|
||
|
self::LESS => '<',
|
||
|
self::LESS_EQUAL => '<=',
|
||
|
};
|
||
|
}
|
||
|
}
|