PropertyNormalizer
class PropertyNormalizer extends AbstractObjectNormalizer
Converts between objects and arrays by mapping properties.
The normalization process looks for all the object's properties (public and private). The result is a map from property names 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 property with the corresponding name exists. If found, the property gets the value.
Traits
| SerializerAwareTrait | SerializerAware trait. |
Constants
| CIRCULAR_REFERENCE_LIMIT | |
| OBJECT_TO_POPULATE | |
| GROUPS | |
| ENABLE_MAX_DEPTH | |
| DEPTH_KEY_PATTERN |
Methods
| setSerializer(SerializerInterface $serializer) Sets the serializer. | from SerializerAwareTrait | |
| __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null) Sets the {@link ClassMetadataFactoryInterface} to use. | from AbstractObjectNormalizer | |
| 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 | supportsNormalization(mixed $data, string $format = null) Checks whether the given class is supported for normalization by this normalizer. | |
| array|string|bool|int|float|null | normalize(object $object, string $format = null, array $context = array()) Normalizes an object into a set of arrays/scalars. | from AbstractObjectNormalizer |
| 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. | from AbstractObjectNormalizer |
Details
setSerializer(SerializerInterface $serializer)
Sets the serializer.
Parameters
| SerializerInterface | $serializer | A SerializerInterface instance |
__construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null)
Sets the {@link ClassMetadataFactoryInterface} to use.
Parameters
| ClassMetadataFactoryInterface | $classMetadataFactory | |
| NameConverterInterface | $nameConverter | |
| PropertyTypeExtractorInterface | $propertyTypeExtractor |
AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)
Set circular reference limit.
Parameters
| int | $circularReferenceLimit | limit of iterations for the same object |
Return Value
| AbstractNormalizer |
AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)
Set circular reference handler.
Parameters
| callable | $circularReferenceHandler |
Return Value
| AbstractNormalizer |
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 |
AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)
Set ignored attributes for normalization and denormalization.
Parameters
| array | $ignoredAttributes |
Return Value
| AbstractNormalizer |
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 |
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 |
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 |
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 |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.1/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.html