move from old repository
This commit is contained in:
		
							
								
								
									
										40
									
								
								enums/Charset.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								enums/Charset.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
 | 
			
		||||
enum Charset
 | 
			
		||||
{
 | 
			
		||||
    case UTF8;
 | 
			
		||||
    case UTF8MB4;
 | 
			
		||||
    case LATIN1;
 | 
			
		||||
    case ASCII;
 | 
			
		||||
    case UTF16;
 | 
			
		||||
    case UTF32;
 | 
			
		||||
    case LATIN2;
 | 
			
		||||
    case LATIN5;
 | 
			
		||||
    case CP1251;
 | 
			
		||||
    case CP850;
 | 
			
		||||
    case TIS620;
 | 
			
		||||
    case GREEK;
 | 
			
		||||
    case HEBREW;
 | 
			
		||||
    case BINARY;
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::UTF8 => 'utf8',
 | 
			
		||||
            self::UTF8MB4 => 'utf8mb4',
 | 
			
		||||
            self::LATIN1 => 'latin1',
 | 
			
		||||
            self::ASCII => 'ascii',
 | 
			
		||||
            self::UTF16 => 'utf16',
 | 
			
		||||
            self::UTF32 => 'utf32',
 | 
			
		||||
            self::LATIN2 => 'latin2',
 | 
			
		||||
            self::LATIN5 => 'latin5',
 | 
			
		||||
            self::CP1251 => 'cp1251',
 | 
			
		||||
            self::CP850 => 'cp850',
 | 
			
		||||
            self::TIS620 => 'tis620',
 | 
			
		||||
            self::GREEK => 'greek',
 | 
			
		||||
            self::HEBREW => 'hebrew',
 | 
			
		||||
            self::BINARY => 'binary',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										32
									
								
								enums/Collation.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								enums/Collation.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
 | 
			
		||||
enum Collation
 | 
			
		||||
{
 | 
			
		||||
    case UTF8_GENERAL_CI;
 | 
			
		||||
    case UTF8_UNICODE_CI;
 | 
			
		||||
    case UTF8_SPANISH_CI;
 | 
			
		||||
    case UTF8MB4_UNICODE_CI;
 | 
			
		||||
    case UTF8MB4_GENERAL_CI;
 | 
			
		||||
    case UTF8MB4_UNICODE_520_CI;
 | 
			
		||||
    case LATIN1_SWEDISH_CI;
 | 
			
		||||
    case UTF8MB4_BIN;
 | 
			
		||||
    case UTF8_BIN;
 | 
			
		||||
    case LATIN1_BIN;
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::UTF8_GENERAL_CI => 'utf8_general_ci',
 | 
			
		||||
            self::UTF8_UNICODE_CI => 'utf8_unicode_ci',
 | 
			
		||||
            self::UTF8_SPANISH_CI => 'utf8_spanish_ci',
 | 
			
		||||
            self::UTF8MB4_UNICODE_CI => 'utf8mb4_unicode_ci',
 | 
			
		||||
            self::UTF8MB4_GENERAL_CI => 'utf8mb4_general_ci',
 | 
			
		||||
            self::UTF8MB4_UNICODE_520_CI => 'utf8mb4_unicode_520_ci',
 | 
			
		||||
            self::LATIN1_SWEDISH_CI => 'latin1_swedish_ci',
 | 
			
		||||
            self::UTF8MB4_BIN => 'utf8mb4_bin',
 | 
			
		||||
            self::UTF8_BIN => 'utf8_bin',
 | 
			
		||||
            self::LATIN1_BIN => 'latin1_bin',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								enums/Engine.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								enums/Engine.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
 | 
			
		||||
enum Engine
 | 
			
		||||
{
 | 
			
		||||
    case INNODB;
 | 
			
		||||
    case MYISAM;
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::INNODB => 'InnoDB',
 | 
			
		||||
            self::MYISAM => 'MyISAM',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								enums/Join.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								enums/Join.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
 | 
			
		||||
enum Join
 | 
			
		||||
{
 | 
			
		||||
    case INNER;
 | 
			
		||||
    case LEFT;
 | 
			
		||||
    case RIGHT;
 | 
			
		||||
    case FULL;
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::INNER => 'INNER JOIN',
 | 
			
		||||
            self::LEFT  => 'LEFT JOIN',
 | 
			
		||||
            self::RIGHT => 'RIGHT JOIN',
 | 
			
		||||
            self::FULL  => 'FULL JOIN',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										37
									
								
								enums/Operator.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								enums/Operator.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
<?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    => '<=',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								enums/Order.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								enums/Order.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
 | 
			
		||||
enum Order
 | 
			
		||||
{
 | 
			
		||||
    case ASC;
 | 
			
		||||
    case DESC;
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::ASC => 'ASC',
 | 
			
		||||
            self::DESC => 'DESC',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										21
									
								
								enums/Propagation.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								enums/Propagation.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
 | 
			
		||||
enum Propagation
 | 
			
		||||
{
 | 
			
		||||
    case CASCADE;
 | 
			
		||||
    case SET_NULL;
 | 
			
		||||
    case NO_ACTION;
 | 
			
		||||
    case RESTRICT;
 | 
			
		||||
    case SET_DEFAULT;
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::CASCADE => 'CASCADE',
 | 
			
		||||
            self::SET_NULL => 'SET NULL',
 | 
			
		||||
            self::NO_ACTION => 'NO ACTION',
 | 
			
		||||
            self::RESTRICT => 'RESTRICT',
 | 
			
		||||
            self::SET_DEFAULT => 'SET DEFAULT',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								enums/Type.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								enums/Type.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
<?php
 | 
			
		||||
namespace DatabaseHelper\enums;
 | 
			
		||||
use DateTime;
 | 
			
		||||
 | 
			
		||||
enum Type
 | 
			
		||||
{
 | 
			
		||||
    case INT;
 | 
			
		||||
    case FLOAT;
 | 
			
		||||
    case STRING;
 | 
			
		||||
    case BOOL;
 | 
			
		||||
    case ARRAY;
 | 
			
		||||
    case DATE;
 | 
			
		||||
 | 
			
		||||
    public function valCast(mixed $value): mixed {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::INT => (int) $value,
 | 
			
		||||
            self::FLOAT => (float) $value,
 | 
			
		||||
            self::STRING => (string) $value,
 | 
			
		||||
            self::BOOL => filter_var($value, FILTER_VALIDATE_BOOLEAN),
 | 
			
		||||
            self::ARRAY => is_array($value) ? $value : (json_decode($value, true) ?? []),
 | 
			
		||||
            self::DATE => $value instanceof DateTime ? $value : (strtotime($value) ? new DateTime($value) : null),
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function dbCast(mixed $value): mixed {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::INT => intval($value),
 | 
			
		||||
            self::FLOAT => floatval($value),
 | 
			
		||||
            self::STRING => esc_sql($value),
 | 
			
		||||
            self::BOOL => filter_var($value, FILTER_VALIDATE_BOOLEAN) ? "TRUE" : "FALSE",
 | 
			
		||||
            self::ARRAY => json_encode($value),
 | 
			
		||||
            self::DATE => $value instanceof DateTime ? $value->format('Y-m-d H:i:s') : json_encode($value)
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function toString(): string {
 | 
			
		||||
        return match ($this) {
 | 
			
		||||
            self::INT => 'INTEGER',
 | 
			
		||||
            self::FLOAT => 'FLOAT',
 | 
			
		||||
            self::STRING => 'VARCHAR(255)',
 | 
			
		||||
            self::BOOL => 'BOOLEAN',
 | 
			
		||||
            self::ARRAY => 'JSON',
 | 
			
		||||
            self::DATE => 'DATETIME',
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user