| object|null | extractObjectToPopulate(string $class, array $context, string $key = null) Extract the object_to_populate field from the context if it exists and is an instance of the provided $class. | from ObjectToPopulateTrait |
| | setSerializer(SerializerInterface $serializer) Sets the serializer. | from SerializerAwareTrait |
| | __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null) Sets the {@link ClassMetadataFactoryInterface} to use. | from AbstractNormalizer |
| AbstractNormalizer | setCircularReferenceLimit(int $circularReferenceLimit) Set circular reference limit. | from AbstractNormalizer |
| AbstractNormalizer | setCircularReferenceHandler(callable $circularReferenceHandler) Set circular reference handler. | from AbstractNormalizer |
| AbstractNormalizer | setCallbacks(array $callbacks) Set normalization callbacks. | from AbstractNormalizer |
| AbstractNormalizer | setIgnoredAttributes(array $ignoredAttributes) Set ignored attributes for normalization and denormalization. | from AbstractNormalizer |
| bool | hasCacheableSupportsMethod() | |
| bool | isCircularReference(object $object, array $context) Detects if the configured circular reference limit is reached. | from AbstractNormalizer |
| mixed | handleCircularReference(object $object) Handles a circular reference. | from AbstractNormalizer |
| string[]|AttributeMetadataInterface[]|bool | getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false) Gets attributes to normalize using groups. | from AbstractNormalizer |
| bool | isAllowedAttribute(object|string $classOrObject, string $attribute, string|null $format = null, array $context = array()) Is this attribute allowed? | from AbstractNormalizer |
| array | prepareForDenormalization(object|array $data) Normalizes the given data to an array. It's particularly useful during the denormalization process. | from AbstractNormalizer |
| ReflectionMethod|null | getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes) Returns the method to use to construct an object. This method must be either the object constructor or static. | from AbstractNormalizer |
| object | instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null) Instantiates an object using constructor parameters when needed. | from AbstractNormalizer |
| array | createChildContext(array $parentContext, string $attribute) | from AbstractNormalizer |
| array|string|int|float|bool | normalize(mixed $object, string $format = null, array $context = array()) Normalizes an object into a set of arrays/scalars. | |
| 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. | |
| object | denormalize(mixed $data, string $class, string $format = null, array $context = array()) Denormalizes data back into an object of the given class. | |
Extract the object_to_populate field from the context if it exists and is an instance of the provided $class.
Parameters
| string | $class | The class the object should be |
| array | $context | The denormalization context |
| string | $key | They in which to look for the object to populate. Keeps backwards compatibility with AbstractNormalizer. |
Return Value
| object|null | an object if things check out, null otherwise |
Sets the serializer.
Parameters
Sets the {@link ClassMetadataFactoryInterface} to use.
Parameters
AbstractNormalizer
setCircularReferenceLimit(int $circularReferenceLimit)
Set circular reference limit.
Parameters
| int | $circularReferenceLimit | Limit of iterations for the same object |
Return Value
AbstractNormalizer
setCircularReferenceHandler(callable $circularReferenceHandler)
Set circular reference handler.
Parameters
| callable | $circularReferenceHandler | |
Return Value
Set normalization callbacks.
Parameters
| array | $callbacks | Help normalize the result |
Return Value
Exceptions
AbstractNormalizer
setIgnoredAttributes(array $ignoredAttributes)
Set ignored attributes for normalization and denormalization.
Parameters
Return Value
bool
hasCacheableSupportsMethod()
Return Value
protected bool
isCircularReference(object $object, array $context)
Detects if the configured circular reference limit is reached.
Parameters
| object | $object | |
| array | $context | |
Return Value
Exceptions
protected mixed
handleCircularReference(object $object)
Handles a circular reference.
If a circular reference handler is set, it will be called. Otherwise, a {@class CircularReferenceException} will be thrown.
Parameters
Return Value
Exceptions
protected string[]|AttributeMetadataInterface[]|bool
getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false)
Gets attributes to normalize using groups.
Parameters
| string|object | $classOrObject | |
| array | $context | |
| bool | $attributesAsString | If false, return an array of {@link AttributeMetadataInterface} |
Return Value
Exceptions
| LogicException | if the 'allow_extra_attributes' context variable is false and no class metadata factory is provided |
protected bool
isAllowedAttribute(object|string $classOrObject, string $attribute, string|null $format = null, array $context = array())
Is this attribute allowed?
Parameters
| object|string | $classOrObject | |
| string | $attribute | |
| string|null | $format | |
| array | $context | |
Return Value
protected array
prepareForDenormalization(object|array $data)
Normalizes the given data to an array. It's particularly useful during the denormalization process.
Parameters
Return Value
protected ReflectionMethod|null
getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes)
Returns the method to use to construct an object. This method must be either the object constructor or static.
Parameters
| array | $data | |
| string | $class | |
| array | $context | |
| ReflectionClass | $reflectionClass | |
| array|bool | $allowedAttributes | |
Return Value
protected object
instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null)
Instantiates an object using constructor parameters when needed.
This method also allows to denormalize data into an existing object if it is present in the context with the object_to_populate. This object is removed from the context before being returned to avoid side effects when recursively normalizing an object graph.
Parameters
| array | $data | |
| string | $class | |
| array | $context | |
| ReflectionClass | $reflectionClass | |
| array|bool | $allowedAttributes | |
| string | $format | |
Return Value
Exceptions
protected array
createChildContext(array $parentContext, string $attribute)
Parameters
| array | $parentContext | |
| string | $attribute | |
Return Value
array|string|int|float|bool
normalize(mixed $object, string $format = null, array $context = array())
Normalizes an object into a set of arrays/scalars.
Parameters
| mixed | $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|int|float|bool | |
Exceptions
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
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
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
Exceptions