<?php

namespace goodboyalex\php_components_pack\interfaces;

/**
 * Интерфейс поддержки правильной сериализации объектов.
 *
 * @author Александр Бабаев
 * @package php_components_pack
 * @version 1.0
 * @since 1.0
 */
interface ISerializable
{
    /**
     * Сериализация модели
     *
     * @return string Сериализованная модель
     */
    public function Serialize (): string;

    /**
     * Десериализует модель
     *
     * @param string $serialized Сериализованная модель
     *
     * @return void
     */
    public function UnSerialize (string $serialized): void;
}