Explorar el Código

[Serializer] Add checks for SerializerAwareInterface

Jordi Boggiano hace 14 años
padre
commit
3ecc9602e4
Se han modificado 1 ficheros con 6 adiciones y 2 borrados
  1. 6 2
      src/Symfony/Component/Serializer/Serializer.php

+ 6 - 2
src/Symfony/Component/Serializer/Serializer.php

@@ -162,7 +162,9 @@ class Serializer implements SerializerInterface
     public function addNormalizer(NormalizerInterface $normalizer)
     {
         $this->normalizers[] = $normalizer;
-        $normalizer->setSerializer($this);
+        if ($normalizer instanceof SerializerAwareInterface) {
+            $normalizer->setSerializer($this);
+        }
     }
 
     /**
@@ -187,7 +189,9 @@ class Serializer implements SerializerInterface
     public function setEncoder($format, EncoderInterface $encoder)
     {
         $this->encoders[$format] = $encoder;
-        $encoder->setSerializer($this);
+        if ($encoder instanceof SerializerAwareInterface) {
+            $encoder->setSerializer($this);
+        }
     }
 
     /**