References ItemNormalizer
Reference
C
Class

ApiPlatform\Serializer\ItemNormalizer

Generic item normalizer.

class ApiPlatform\Serializer\ItemNormalizer extends ApiPlatform\Serializer\AbstractItemNormalizer implements Symfony\Component\Serializer\SerializerAwareInterface, Symfony\Component\Serializer\Normalizer\DenormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerInterface
{
    public __construct($propertyNameCollectionFactory, `<a href="/docs/main/references/Metadata/Property/Factory/PropertyMetadataFactoryInterface">ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface</a>` $propertyMetadataFactory, `<a href="/docs/main/references/Api/IriConverterInterface">ApiPlatform\Metadata\IriConverterInterface</a>` $iriConverter, `<a href="/docs/main/references/Api/ResourceClassResolverInterface">ApiPlatform\Metadata\ResourceClassResolverInterface</a>` $resourceClassResolver, null|Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor, null|Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter, null|Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory, null|Psr\Log\LoggerInterface $logger, null|`<a href="/docs/main/references/Metadata/Resource/Factory/ResourceMetadataCollectionFactoryInterface">ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface</a>` $resourceMetadataFactory, null|`<a href="/docs/main/references/Metadata/ResourceAccessCheckerInterface">ApiPlatform\Metadata\ResourceAccessCheckerInterface</a>` $resourceAccessChecker, array $defaultContext, null|`<a href="/docs/main/references/Serializer/TagCollectorInterface">ApiPlatform\Serializer\TagCollectorInterface $tagCollector)
    public denormalize($data, string $class, null|string $format, array $context)
    public supportsNormalization($data, null|string $format, array $context): bool
    public getSupportedTypes(null|string $format): array
    public hasCacheableSupportsMethod(): bool
    public normalize($object, null|string $format, array $context): ArrayObject|array|string|int|float|bool
    public supportsDenormalization($data, string $type, null|string $format, array $context): bool
    protected instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, null|string $format): object
    protected getClassDiscriminatorResolvedClass(array $data, string $class, array $context): string
    protected createConstructorArgument($parameterData, string $key, ReflectionParameter $constructorParameter, array $context, null|string $format)
    protected extractAttributes($object, $format, array $context): array&lt;int, string&gt;
    protected getAllowedAttributes(object|string $classOrObject, array $context, bool $attributesAsString): array|bool
    protected isAllowedAttribute(object|string $classOrObject, string $attribute, null|string $format, array $context): bool
    protected canAccessAttribute(null|object $object, string $attribute, array $context): bool
    protected canAccessAttributePostDenormalize(null|object $object, null|object $previousObject, string $attribute, array $context): bool
    protected setAttributeValue(object $object, string $attribute, $value, null|string $format, array $context): null
    protected validateType(string $attribute, Symfony\Component\PropertyInfo\Type $type, $value, null|string $format, array $context): null
    protected denormalizeCollection(string $attribute, ApiPlatform\Metadata\ApiProperty $propertyMetadata, Symfony\Component\PropertyInfo\Type $type, string $className, $value, null|string $format, array $context): array
    protected denormalizeRelation(string $attributeName, ApiPlatform\Metadata\ApiProperty $propertyMetadata, string $className, $value, null|string $format, array $context): object
    protected getFactoryOptions(array $context): array
    protected getAttributeValue(object $object, string $attribute, null|string $format, array $context)
    protected normalizeCollectionOfRelations(ApiPlatform\Metadata\ApiProperty $propertyMetadata, iterable $attributeValue, string $resourceClass, null|string $format, array $context): array
    protected normalizeRelation(ApiPlatform\Metadata\ApiProperty $propertyMetadata, null|object $relatedObject, string $resourceClass, null|string $format, array $context): ArrayObject|array|string
    protected getAttributes(object $object, null|string $format, array $context): array&lt;int, string&gt;
    protected denormalizeParameter(ReflectionClass $class, ReflectionParameter $parameter, string $parameterName, $parameterData, array $context, null|string $format)
    protected createChildContext(array $parentContext, string $attribute, null|string $format): array
    protected isCircularReference(object $object, array $context): bool
    protected handleCircularReference(object $object, null|string $format, array $context)
    protected getGroups(array $context): array
    protected prepareForDenormalization($data): array
    protected getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes): ReflectionMethod
    protected validateCallbackContext(array $context, string $contextType): null
    protected applyCallbacks($value, object|string $object, string $attribute, null|string $format, array $context)
    protected getAttributeNormalizationContext(object $object, string $attribute, array $context): array
    protected getAttributeDenormalizationContext(string $class, string $attribute, array $context): array
    protected getAttributeMetadata(object|string $objectOrClass, string $attribute): Symfony\Component\Serializer\Mapping\AttributeMetadataInterface
    protected extractObjectToPopulate(string $class, array $context, null|string $key): object
    public setSerializer(Symfony\Component\Serializer\SerializerInterface $serializer): null
    public clone($data)
    protected getInputClass(array $context): string
    protected getOutputClass(array $context): string
    protected createOperationContext(array $context, null|string $resourceClass): array
}

Properties

tagCollector

propertyAccessor

Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor

localCache

array $localCache

localFactoryOptionsCache

array $localFactoryOptionsCache

resourceAccessChecker

propertyNameCollectionFactory

propertyMetadataFactory

iriConverter

resourceClassResolver

classDiscriminatorResolver

Symfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface $classDiscriminatorResolver

defaultContext

array $defaultContext

classMetadataFactory

Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory

nameConverter

Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter

serializer

Symfony\Component\Serializer\SerializerInterface $serializer

resourceMetadataCollectionFactory

Methods

__construct

Parameters

propertyNameCollectionFactory`ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface`
propertyMetadataFactory`ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface`
iriConverter`ApiPlatform\Metadata\IriConverterInterface`
resourceClassResolver`ApiPlatform\Metadata\ResourceClassResolverInterface`
propertyAccessorSymfony\Component\PropertyAccess\PropertyAccessorInterface
nameConverterSymfony\Component\Serializer\NameConverter\NameConverterInterface
classMetadataFactorySymfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface
loggerPsr\Log\LoggerInterface
resourceMetadataFactory`ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface`
resourceAccessChecker`ApiPlatform\Metadata\ResourceAccessCheckerInterface`
defaultContextarray
tagCollector`ApiPlatform\Serializer\TagCollectorInterface`

denormalize

Denormalizes data back into an object of the given class.Denormalizes data back into an object of the given class.

public denormalize($data, string $class, null|string $format, array $context)

Parameters

data
classstring
formatstring
contextarray

Returns

Made with love by

Les-Tilleuls.coop can help you design and develop your APIs and web projects, and train your teams in API Platform, Symfony, Next.js, Kubernetes and a wide range of other technologies.

Learn more

Copyright © 2023 Kévin Dunglas

Sponsored by Les-Tilleuls.coop