PHP Class Symfony\Component\Serializer\Normalizer\AbstractNormalizer

Author: Kévin Dunglas ([email protected])
Inheritance: extends Symfony\Component\Serializer\Normalizer\SerializerAwareNormalizer, implements Symfony\Component\Serializer\Normalizer\NormalizerInterface, implements Symfony\Component\Serializer\Normalizer\DenormalizerInterface
Mostra file Open project: symfony/symfony Class Usage Examples

Protected Properties

Property Type Description
$callbacks array
$camelizedAttributes array
$circularReferenceHandler callable
$circularReferenceLimit integer
$classMetadataFactory Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface | null
$ignoredAttributes array
$nameConverter Symfony\Component\Serializer\NameConverter\NameConverterInterface | null

Public Methods

Method Description
__construct ( Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory = null, Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter = null ) Sets the {@link ClassMetadataFactoryInterface} to use.
setCallbacks ( array $callbacks ) : self Set normalization callbacks.
setCircularReferenceHandler ( callable $circularReferenceHandler ) : self Set circular reference handler.
setCircularReferenceLimit ( integer $circularReferenceLimit ) : self Set circular reference limit.
setIgnoredAttributes ( array $ignoredAttributes ) : self Set ignored attributes for normalization and denormalization.

Protected Methods

Method Description
getAllowedAttributes ( string | object $classOrObject, array $context, boolean $attributesAsString = false ) : string[] | Symfony\Component\Serializer\Mapping\AttributeMetadataInterface[] | boolean Gets attributes to normalize using groups.
getConstructor ( array &$data, string $class, array &$context, ReflectionClass $reflectionClass, array | boolean $allowedAttributes ) : ReflectionMethod | null Returns the method to use to construct an object. This method must be either the object constructor or static.
handleCircularReference ( object $object ) : mixed Handles a circular reference.
instantiateObject ( array &$data, string $class, array &$context, ReflectionClass $reflectionClass, array | boolean $allowedAttributes ) : object Instantiates an object using constructor parameters when needed.
isAllowedAttribute ( object | string $classOrObject, string $attribute, string | null $format = null, array $context = [] ) : boolean Is this attribute allowed?
isCircularReference ( object $object, array &$context ) : boolean Detects if the configured circular reference limit is reached.
prepareForDenormalization ( object | array $data ) : array Normalizes the given data to an array. It's particularly useful during the denormalization process.

Method Details

__construct() public method

Sets the {@link ClassMetadataFactoryInterface} to use.
public __construct ( Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory = null, Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter = null )
$classMetadataFactory Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface
$nameConverter Symfony\Component\Serializer\NameConverter\NameConverterInterface

getAllowedAttributes() protected method

Gets attributes to normalize using groups.
protected getAllowedAttributes ( string | object $classOrObject, array $context, boolean $attributesAsString = false ) : string[] | Symfony\Component\Serializer\Mapping\AttributeMetadataInterface[] | boolean
$classOrObject string | object
$context array
$attributesAsString boolean If false, return an array of {@link AttributeMetadataInterface}
return string[] | Symfony\Component\Serializer\Mapping\AttributeMetadataInterface[] | boolean

getConstructor() protected method

Returns the method to use to construct an object. This method must be either the object constructor or static.
protected getConstructor ( array &$data, string $class, array &$context, ReflectionClass $reflectionClass, array | boolean $allowedAttributes ) : ReflectionMethod | null
$data array
$class string
$context array
$reflectionClass ReflectionClass
$allowedAttributes array | boolean
return ReflectionMethod | null

handleCircularReference() protected method

If a circular reference handler is set, it will be called. Otherwise, a {@class CircularReferenceException} will be thrown.
protected handleCircularReference ( object $object ) : mixed
$object object
return mixed

instantiateObject() protected method

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.
protected instantiateObject ( array &$data, string $class, array &$context, ReflectionClass $reflectionClass, array | boolean $allowedAttributes ) : object
$data array
$class string
$context array
$reflectionClass ReflectionClass
$allowedAttributes array | boolean
return object

isAllowedAttribute() protected method

Is this attribute allowed?
protected isAllowedAttribute ( object | string $classOrObject, string $attribute, string | null $format = null, array $context = [] ) : boolean
$classOrObject object | string
$attribute string
$format string | null
$context array
return boolean

isCircularReference() protected method

Detects if the configured circular reference limit is reached.
protected isCircularReference ( object $object, array &$context ) : boolean
$object object
$context array
return boolean

prepareForDenormalization() protected method

Normalizes the given data to an array. It's particularly useful during the denormalization process.
protected prepareForDenormalization ( object | array $data ) : array
$data object | array
return array

setCallbacks() public method

Set normalization callbacks.
public setCallbacks ( array $callbacks ) : self
$callbacks array help normalize the result
return self

setCircularReferenceHandler() public method

Set circular reference handler.
public setCircularReferenceHandler ( callable $circularReferenceHandler ) : self
$circularReferenceHandler callable
return self

setCircularReferenceLimit() public method

Set circular reference limit.
public setCircularReferenceLimit ( integer $circularReferenceLimit ) : self
$circularReferenceLimit integer limit of iterations for the same object
return self

setIgnoredAttributes() public method

Set ignored attributes for normalization and denormalization.
public setIgnoredAttributes ( array $ignoredAttributes ) : self
$ignoredAttributes array
return self

Property Details

$callbacks protected_oe property

protected array $callbacks
return array

$camelizedAttributes protected_oe property

protected array $camelizedAttributes
return array

$circularReferenceHandler protected_oe property

protected callable $circularReferenceHandler
return callable

$circularReferenceLimit protected_oe property

protected int $circularReferenceLimit
return integer

$classMetadataFactory protected_oe property

protected ClassMetadataFactoryInterface,Symfony\Component\Serializer\Mapping\Factory|null $classMetadataFactory
return Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface | null

$ignoredAttributes protected_oe property

protected array $ignoredAttributes
return array

$nameConverter protected_oe property

protected NameConverterInterface,Symfony\Component\Serializer\NameConverter|null $nameConverter
return Symfony\Component\Serializer\NameConverter\NameConverterInterface | null