1
0
mirror of synced 2024-11-24 22:06:06 +03:00
service-bundle/Serializer/JMSSerializerAdapter.php
Кривич Сергей 897df39d96 Update code base
2022-07-20 14:38:42 +03:00

34 lines
870 B
PHP

<?php
namespace RetailCrm\ServiceBundle\Serializer;
use JMS\Serializer\ArrayTransformerInterface;
use JMS\Serializer\Context;
use JMS\Serializer\SerializerInterface;
class JMSSerializerAdapter implements Adapter
{
private $context;
public function __construct(
private SerializerInterface $serializer,
private ArrayTransformerInterface $transformer
) {
}
public function deserialize(string $data, string $type, string $format = 'json'): object
{
return $this->serializer->deserialize($data, $type, $format, $this->context);
}
public function arrayToObject(array $data, string $type, ?string $format = null): object
{
return $this->transformer->fromArray($data, $type, $this->context);
}
public function setContext(Context $context): void
{
$this->context = $context;
}
}