Parcourir la source

[Serializer] Add support for Traversable objects

Jordi Boggiano il y a 14 ans
Parent
commit
919f16a7d6
1 fichiers modifiés avec 7 ajouts et 0 suppressions
  1. 7 0
      src/Symfony/Component/Serializer/Serializer.php

+ 7 - 0
src/Symfony/Component/Serializer/Serializer.php

@@ -113,6 +113,13 @@ class Serializer implements SerializerInterface
             }
             }
             return $data;
             return $data;
         }
         }
+        if ($data instanceof Traversable) {
+            $normalized = array();
+            foreach ($data as $key => $val) {
+                $normalized[$key] = $this->isStructuredType($val) ? $this->normalize($val, $format) : $val;
+            }
+            return $normalized;
+        }
         if (is_object($data)) {
         if (is_object($data)) {
             return $this->normalizeObject($data, $format);
             return $this->normalizeObject($data, $format);
         }
         }