class GetSetMethodNormalizer extends AbstractNormalizer

Converts between objects with getter and setter methods and arrays.

The normalization process looks at all public methods and calls the ones which have a name starting with get and take no parameters. The result is a map from property names (method name stripped of the get prefix and converted to lower case) to property values. Property values are normalized through the serializer.

The denormalization first looks at the constructor of the given class to see if any of the parameters have the same name as one of the properties. The constructor is then called with all parameters or an exception is thrown if any required parameters were not present as properties. Then the denormalizer walks through the given map of property names to property values to see if a setter method exists for any of the properties. If a setter exists it is called with the property value. No automatic denormalization of the value takes place.

Methods

setSerializer(SerializerInterface $serializer)

Sets the owning Serializer object.

__construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null)

Sets the {@link ClassMetadataFactoryInterface} to use.

setCircularReferenceLimit(int $circularReferenceLimit)

Set circular reference limit.

setCircularReferenceHandler(callable $circularReferenceHandler)

Set circular reference handler.

setCallbacks(array $callbacks)

Set normalization callbacks.

setIgnoredAttributes(array $ignoredAttributes)

Set ignored attributes for normalization and denormalization.

setCamelizedAttributes(array $camelizedAttributes) deprecated

Set attributes to be camelized on denormalize.

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

Normalizes an object into a set of arrays/scalars.

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

Denormalizes data back into an object of the given class.

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

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

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

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

Details

in SerializerAwareNormalizer at line line 32
setSerializer(SerializerInterface $serializer)

Sets the owning Serializer object.

Parameters

SerializerInterface $serializer

in AbstractNormalizer at line line 65
__construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null)

Sets the {@link ClassMetadataFactoryInterface} to use.

Parameters

ClassMetadataFactoryInterface $classMetadataFactory
NameConverterInterface $nameConverter

in AbstractNormalizer at line line 78
AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)

Set circular reference limit.

Parameters

int $circularReferenceLimit limit of iterations for the same object

Return Value

AbstractNormalizer

in AbstractNormalizer at line line 94
AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)

Set circular reference handler.

Parameters

callable $circularReferenceHandler

Return Value

AbstractNormalizer

Exceptions

InvalidArgumentException

in AbstractNormalizer at line line 114
AbstractNormalizer setCallbacks(array $callbacks)

Set normalization callbacks.

Parameters

array $callbacks help normalize the result

Return Value

AbstractNormalizer

Exceptions

InvalidArgumentException if a non-callable callback is set

in AbstractNormalizer at line line 136
AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)

Set ignored attributes for normalization and denormalization.

Parameters

array $ignoredAttributes

Return Value

AbstractNormalizer

in AbstractNormalizer at line line 154
AbstractNormalizer setCamelizedAttributes(array $camelizedAttributes) deprecated

deprecated Deprecated since version 2.7, to be removed in 3.0. Use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter instead.

Set attributes to be camelized on denormalize.

Parameters

array $camelizedAttributes

Return Value

AbstractNormalizer

Exceptions

LogicException

at line line 47
array|string|bool|int|float|null normalize(object $object, string $format = null, array $context = array())

Normalizes an object into a set of arrays/scalars.

Parameters

object $object object to normalize
string $format format the normalization result will be encoded as
array $context Context options for the normalizer

Return Value

array|string|bool|int|float|null

at line line 97
object denormalize(mixed $data, string $class, string $format = null, array $context = array())

Denormalizes data back into an object of the given class.

Parameters

mixed $data data to restore
string $class the expected class to instantiate
string $format format the given data was extracted from
array $context options available to the denormalizer

Return Value

object

at line line 129
bool supportsNormalization(mixed $data, string $format = null)

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.

Return Value

bool

at line line 137
bool supportsDenormalization(mixed $data, string $type, string $format = null)

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.

Return Value

bool