File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments