52 lines
1.9 KiB
PHP
52 lines
1.9 KiB
PHP
<?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 ConvertToDB
|
|
{
|
|
/**
|
|
* @var Closure|null Метод конвертации из типа для заполнения таблицы базы данных.
|
|
*/
|
|
public ?Closure $ConvertToDB;
|
|
|
|
/**
|
|
* @var Closure|null Метод конвертации в тип для заполнения таблицы базы данных.
|
|
*/
|
|
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)
|
|
{
|
|
$this->ConvertToDB = $fromType;
|
|
$this->ConvertFromDB = $toType;
|
|
$this->Compare = $compare;
|
|
}
|
|
} |