* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer; /** * @author Jordi Boggiano */ interface SerializerInterface { /** * Serializes data in the appropriate format. * * @param array $context Options normalizers/encoders have access to */ public function serialize(mixed $data, string $format, array $context = []): string; /** * Deserializes data into the given type. * * @template TObject of object * @template TType of string|class-string * * @param TType $type * @param array $context * * @psalm-return (TType is class-string ? TObject : mixed) * * @phpstan-return ($type is class-string ? TObject : mixed) */ public function deserialize(mixed $data, string $type, string $format, array $context = []): mixed; }