This commit is contained in:
2025-08-06 18:10:04 +03:00
parent 7b42ba781c
commit eeea57209e
19 changed files with 636 additions and 16 deletions

View File

@@ -0,0 +1,38 @@
<?php
/**
* Отключаю несущественные инспекции (из-за Attribute)
*
* @noinspection PhpMultipleClassDeclarationsInspection
*/
namespace goodboyalex\php_db_components_pack\attributes;
use Attribute;
use Closure;
/**
* Атрибут указания методов сравнения значений поля в таблице базы данных.
*
* @author Александр Бабаев
* @package php_db_components_pack
* @version 1.0
* @since 1.0
*/
#[Attribute(flags: Attribute::TARGET_PROPERTY)]
final readonly class Compare
{
/**
* @var Closure|null $Function Метод сравнения значений.
*/
public ?Closure $Function;
/**
* Конструктор.
*
* @param callable|null $function Метод сравнения значений.
*/
public function __construct (?callable $function = null)
{
$this->Function = $function;
}
}

View File

@@ -31,22 +31,15 @@
*/
public ?Closure $ConvertFromDB;
/**
* @var Closure|null Метод сравнения типов.
*/
public ?Closure $Compare;
/**
* Конструктор.
*
* @param callable|null $fromType Метод конвертации из типа для заполнения таблицы базы данных.
* @param callable|null $toType Метод конвертации в тип для заполнения таблицы базы данных.
* @param callable|null $compare Метод сравнения типов.
*/
public function __construct (?callable $fromType = null, ?callable $toType = null, ?callable $compare = null)
public function __construct (?callable $fromType = null, ?callable $toType = null)
{
$this->ConvertToDB = $fromType;
$this->ConvertFromDB = $toType;
$this->Compare = $compare;
}
}