浏览代码

[Serializer] Add checks for SerializerAwareInterface

Jordi Boggiano 14 年之前
父节点
当前提交
3ecc9602e4
共有 1 个文件被更改,包括 6 次插入2 次删除
  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);
+        }
     }
 
     /**