Normalizers¶
Normalizers turn objects into arrays and vice versa. They implement
NormalizerInterface for
normalizing (object to array) and
DenormalizerInterface for
denormalizing (array to object).
Normalizers are enabled in the serializer passing them as its first argument:
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
use Symfony\Component\Serializer\Serializer;
$normalizers = [new ObjectNormalizer()];
$serializer = new Serializer($normalizers);
Built-in Normalizers¶
Symfony includes the following normalizers but you can also create your own normalizer:
ObjectNormalizerto normalize PHP object using the PropertyAccessor component;DateTimeZoneNormalizerforDateTimeZoneobjectsDateTimeNormalizerfor objects implementing theDateTimeInterfaceinterfaceDateIntervalNormalizerforDateIntervalobjectsDataUriNormalizerto transformSplFileInfoobjects in Data URIsCustomNormalizerto normalize PHP object using an object that implementsNormalizableInterface;GetSetMethodNormalizerto normalize PHP object using the getter and setter methods of the object;PropertyNormalizerto normalize PHP object using PHP reflection.ConstraintViolationListNormalizerfor objects implementing theConstraintViolationListInterfaceinterfaceProblemNormalizerforFlattenExceptionobjectsJsonSerializableNormalizerto deal with objects implementing theJsonSerializableinterface