LazyLoadingSerializer.php 544 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace JMS\SerializerBundle\Serializer;
  3. use Symfony\Component\Serializer\SerializerAwareInterface;
  4. class LazyLoadingSerializer extends Serializer
  5. {
  6. private $container;
  7. protected function getEncoder($format)
  8. {
  9. $encoder = parent::getEncoder($format);
  10. if (is_string($encoder)) {
  11. $encoder = $this->container->get($encoder);
  12. if ($encoder instanceof SerializerAwareInterface) {
  13. $encoder->setSerializer($this);
  14. }
  15. }
  16. return $encoder;
  17. }
  18. }