W3cubDocs

/Symfony 4.1

Serializer

class Serializer implements SerializerInterface, ContextAwareNormalizerInterface, ContextAwareDenormalizerInterface, ContextAwareEncoderInterface, ContextAwareDecoderInterface

Serializer serializes and deserializes data.

objects are turned into arrays by normalizers. arrays are turned into various output formats by encoders.

$serializer->serialize($obj, 'xml')
$serializer->decode($data, 'xml')
$serializer->denormalize($data, 'Class', 'xml')

Properties

protected ChainEncoder $encoder
protected ChainDecoder $decoder
protected $normalizers

Methods

__construct(array $normalizers = array(), array $encoders = array())
string serialize(mixed $data, string $format, array $context = array())

Serializes data in the appropriate format.

object deserialize(mixed $data, string $type, string $format, array $context = array())

Deserializes data into the given type.

array|string|int|float|bool normalize($data, string $format = null, array $context = array())

Normalizes an object into a set of arrays/scalars.

object denormalize(mixed $data, $type, string $format = null, array $context = array())

Denormalizes data back into an object of the given class.

bool supportsNormalization(mixed $data, string $format = null, array $context = array())

Checks whether the given class is supported for normalization by this normalizer.

bool supportsDenormalization(mixed $data, string $type, string $format = null, array $context = array())

Checks whether the given class is supported for denormalization by this normalizer.

string|int|float|bool encode(mixed $data, string $format, array $context = array())

Encodes data into the given format.

mixed decode(string $data, string $format, array $context = array())

Decodes a string into PHP data.

bool supportsEncoding(string $format, array $context = array())

Checks whether the serializer can encode to given format.

bool supportsDecoding(string $format, array $context = array())

Checks whether the deserializer can decode from given format.

Details

__construct(array $normalizers = array(), array $encoders = array())

Parameters

array $normalizers
array $encoders

final string serialize(mixed $data, string $format, array $context = array())

Serializes data in the appropriate format.

Parameters

mixed $data Any data
string $format Format name
array $context Options normalizers/encoders have access to

Return Value

string

final object deserialize(mixed $data, string $type, string $format, array $context = array())

Deserializes data into the given type.

Parameters

mixed $data
string $type
string $format
array $context

Return Value

object

array|string|int|float|bool normalize($data, string $format = null, array $context = array())

Normalizes an object into a set of arrays/scalars.

Parameters

$data
string $format Format the normalization result will be encoded as
array $context Context options for the normalizer

Return Value

array|string|int|float|bool

Exceptions

InvalidArgumentException Occurs when the object given is not an attempted type for the normalizer
CircularReferenceException Occurs when the normalizer detects a circular reference when no circular reference handler can fix it
LogicException Occurs when the normalizer is not called in an expected context

object denormalize(mixed $data, $type, string $format = null, array $context = array())

Denormalizes data back into an object of the given class.

Parameters

mixed $data Data to restore
$type
string $format Format the given data was extracted from
array $context Options available to the denormalizer

Return Value

object

Exceptions

BadMethodCallException Occurs when the normalizer is not called in an expected context
InvalidArgumentException Occurs when the arguments are not coherent or not supported
UnexpectedValueException Occurs when the item cannot be hydrated with the given data
ExtraAttributesException Occurs when the item doesn't have attribute to receive given data
LogicException Occurs when the normalizer is not supposed to denormalize
RuntimeException Occurs if the class cannot be instantiated

bool supportsNormalization(mixed $data, string $format = null, array $context = array())

Checks whether the given class is supported for normalization by this normalizer.

Parameters

mixed $data Data to normalize
string $format The format being (de-)serialized from or into
array $context

Return Value

bool

bool supportsDenormalization(mixed $data, string $type, string $format = null, array $context = array())

Checks whether the given class is supported for denormalization by this normalizer.

Parameters

mixed $data Data to denormalize from
string $type The class to which the data should be denormalized
string $format The format being deserialized from
array $context

Return Value

bool

final string|int|float|bool encode(mixed $data, string $format, array $context = array())

Encodes data into the given format.

Parameters

mixed $data Data to encode
string $format Format name
array $context Options that normalizers/encoders have access to

Return Value

string|int|float|bool

Exceptions

UnexpectedValueException

final mixed decode(string $data, string $format, array $context = array())

Decodes a string into PHP data.

Parameters

string $data Data to decode
string $format Format name
array $context Options that decoders have access to

The format parameter specifies which format the data is in; valid values depend on the specific implementation. Authors implementing this interface are encouraged to document which formats they support in a non-inherited phpdoc comment.

Return Value

mixed

Exceptions

UnexpectedValueException

bool supportsEncoding(string $format, array $context = array())

Checks whether the serializer can encode to given format.

Parameters

string $format Format name
array $context

Return Value

bool

bool supportsDecoding(string $format, array $context = array())

Checks whether the deserializer can decode from given format.

Parameters

string $format Format name
array $context

Return Value

bool

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Serializer/Serializer.html