Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer
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.
- Author: Nils Adermann <naderman@naderman.de>
Synopsis
- // members
- protected array $callbacks;
- protected array $ignoredAttributes;
- protected array $camelizedAttributes;
- // Inherited members from SerializerAwareNormalizer
- protected SerializerInterface $serializer;
- // methods
- public void setCallbacks()
- public void setIgnoredAttributes()
- public void setCamelizedAttributes()
- public void normalize()
- public void denormalize()
- protected string formatAttribute()
- public void supportsNormalization()
- public void supportsDenormalization()
- private Boolean supports()
- private Boolean isGetMethod()
- // Inherited methods from SerializerAwareNormalizer
- public void setSerializer()
Hierarchy
Extends
Implements
Members
protected
- $callbacks
- $camelizedAttributes
- $ignoredAttributes
- $serializer — Symfony\Component\Serializer\SerializerInterface
Methods
private
- isGetMethod() — Checks if a method's name is get.* and can be called without parameters.
- supports() — Checks if the given class has any get{Property} method.
protected
- formatAttribute() — Format attribute name to access parameters or methods As option, if attribute name is found on camelizedAttributes array returns attribute name in camelcase format
public
- denormalize() — {@inheritdoc}
- normalize() — {@inheritdoc}
- setCallbacks() — Set normalization callbacks
- setCamelizedAttributes() — Set attributes to be camelized on denormalize
- setIgnoredAttributes() — Set ignored attributes for normalization
- supportsDenormalization() — {@inheritDoc}
- supportsNormalization() — {@inheritDoc}
Inherited from Symfony\Component\Serializer\Normalizer\SerializerAwareNormalizer
public
- setSerializer() — {@inheritdoc}