Skip to content

Commit 53b98a2

Browse files
deserialize 메소드를 deep casting 할 수 있도록 변경
1 parent 8cec8fc commit 53b98a2

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

src/Libraries/CurlDeserializer.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@ trait CurlDeserializer
1010
static function deserialize(stdClass $object): self
1111
{
1212
$deserializedClass = new self();
13-
$reflectionObject = new ReflectionObject($object);
14-
$reflectionProperties = $reflectionObject->getProperties();
15-
foreach ($reflectionProperties as $reflectionProperty) {
16-
$name = $reflectionProperty->getName();
17-
if (property_exists(self::class, $name)) {
13+
$reflectedObject = new ReflectionObject($object);
14+
$properties = $reflectedObject->getProperties();
15+
foreach ($properties as $property) {
16+
$name = $property->getName();
17+
if (gettype($deserializedClass->{$name}) == "object") {
18+
self::deserialize($deserializedClass->{$name});
19+
} else {
1820
$deserializedClass->{$name} = $object->$name;
1921
}
2022
}
21-
unset($object);
2223
return $deserializedClass;
2324
}
2425
}

0 commit comments

Comments
 (0)