52 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace goodboyalex\php_components_pack\models;
 | |
| 
 | |
| use Closure;
 | |
| use goodboyalex\php_components_pack\enums\ObjectArraySerializeMethod;
 | |
| 
 | |
| /**
 | |
|  * Модель настроек сериализации для класса ObjectArray.
 | |
|  *
 | |
|  * @author Александр Бабаев
 | |
|  * @package php_components_pack
 | |
|  * @version 1.0
 | |
|  * @since 1.1.1
 | |
|  */
 | |
| final class ObjectArraySerializeOptions
 | |
| {
 | |
|     /**
 | |
|      * @var ObjectArraySerializeMethod $SerializeMethod Метод сериализации/десериализации.
 | |
|      */
 | |
|     public ObjectArraySerializeMethod $SerializeMethod;
 | |
| 
 | |
|     /**
 | |
|      * @var Closure|null $OnClassTo Функция обратного вызова для сериализации объекта методом JsonEncodeWithToArray.
 | |
|      *     Она передается в качестве параметра в функцию ToArray и служит для правильного преобразования типа в массив.
 | |
|      */
 | |
|     public ?Closure $OnClassTo;
 | |
| 
 | |
|     /**
 | |
|      * @var Closure|null $OnClassFrom Функция обратного вызова для десериализации объекта методом
 | |
|      *     JsonEncodeWithToArray. Она передается в качестве параметра в функцию FromArray и служит для правильного
 | |
|      *     преобразования массива в тип.
 | |
|      */
 | |
|     public ?Closure $OnClassFrom;
 | |
| 
 | |
|     /**
 | |
|      * Конструктор.
 | |
|      *
 | |
|      * @param ObjectArraySerializeMethod $serializeMethod Метод сериализации/десериализации.
 | |
|      * @param callable|null $onClassTo Функция обратного вызова для сериализации объекта методом JsonEncodeWithToArray
 | |
|      *     (для ToArray).
 | |
|      * @param callable|null $onClassFrom Функция обратного вызова для десериализации объекта методом
 | |
|      *     JsonEncodeWithToArray (для FromArray).
 | |
|      */
 | |
|     public function __construct (ObjectArraySerializeMethod $serializeMethod = ObjectArraySerializeMethod::Serialize,
 | |
|         ?callable $onClassTo = null, ?callable $onClassFrom = null)
 | |
|     {
 | |
|         $this->SerializeMethod = $serializeMethod;
 | |
|         $this->OnClassTo = $onClassTo;
 | |
|         $this->OnClassFrom = $onClassFrom;
 | |
|     }
 | |
| } |