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    => '<=',
 | 
						|
        };
 | 
						|
    }
 | 
						|
}
 |