php_components_pack/sources/traits/GUID/GUIDSerializeTrait.php

41 lines
1.1 KiB
PHP

<?php
namespace goodboyalex\php_components_pack\traits\GUID;
use goodboyalex\php_components_pack\exceptions\TypeException;
/**
* Часть кода класса GUID, отвечающая за реализацию интерфейса ISerializable.
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.0
* @since 1.2
*/
trait GUIDSerializeTrait
{
/**
* @inheritDoc
*/
public function Serialize (): string
{
// Получаем массив
$array = $this->ToArray();
// Преобразуем в JSON
return json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
}
/**
* @inheritDoc
* @throws TypeException Если тип не соответствует.
*/
public function UnSerialize (string $serialized): void
{
// Преобразуем в массив
$array = json_decode($serialized, true, flags: JSON_UNESCAPED_UNICODE);
// Получаем значение
$this->FromArray($array);
}
}