custom/plugins/PolPaymentPayolutionSW6/src/PayolutionApi/Serializer/SerializerFactory.php line 19

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace PolPaymentPayolutionSW6\PayolutionApi\Serializer;
  4. use Doctrine\Common\Annotations\AnnotationReader;
  5. use PolPaymentPayolutionSW6\PayolutionApi\Serializer\NameConverter\UcfirstNameConverter;
  6. use Symfony\Component\Serializer\Encoder\XmlEncoder;
  7. use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
  8. use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
  9. use Symfony\Component\Serializer\NameConverter\MetadataAwareNameConverter;
  10. use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
  11. use Symfony\Component\Serializer\Serializer;
  12. use Symfony\Component\Serializer\SerializerInterface;
  13. class SerializerFactory
  14. {
  15.     public static function createSerializer(): SerializerInterface
  16.     {
  17.         $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
  18.         $metadataAwareNameConverter = new MetadataAwareNameConverter($classMetadataFactory, new UcfirstNameConverter());
  19.         $objectNormalizer = new ObjectNormalizer($classMetadataFactory$metadataAwareNameConverter);
  20.         $serializer = new Serializer([$objectNormalizer], [new XmlEncoder()]);
  21.         return $serializer;
  22.     }
  23. }