@@ 147-156 (lines=10) @@ | ||
144 | }); |
|
145 | ||
146 | $hydrators = new FallbackHydratorContainer(); |
|
147 | $hydrators->add(FakeUser::class, function(array $data, Hydrators $handlers) { |
|
148 | $tagHandler = $handlers->getHandler(FakeTag::class); |
|
149 | ||
150 | $user = new FakeUser($data['id'], $data['name'], $tagHandler($data['tag'], $handlers)); |
|
151 | foreach($data['tags'] as $tag) { |
|
152 | $user->addTag($tagHandler($tag, $handlers)); |
|
153 | } |
|
154 | ||
155 | return $user; |
|
156 | }); |
|
157 | $hydrators->add(FakeTag::class, function(array $data, Hydrators $handlers) { |
|
158 | return new FakeTag($data['id'], $data['name']); |
|
159 | }); |
|
@@ 234-243 (lines=10) @@ | ||
231 | ||
232 | return new FakeArticle($data['id'], $data['title'], $user, $tag); |
|
233 | }); |
|
234 | $hydrators->add(FakeUser::class, function(array $data, FallbackHydratorContainer $hydrators) { |
|
235 | $tag = $hydrators->hydrate(FakeTag::class, $data['tag']); |
|
236 | ||
237 | $user = new FakeUser($data['id'], $data['name'], $tag); |
|
238 | foreach($data['tags'] as $tagData) { |
|
239 | $user->addTag(call_user_func($hydrators->getHandler(FakeTag::class), $tagData, $hydrators)); |
|
240 | } |
|
241 | ||
242 | return $user; |
|
243 | }); |
|
244 | $hydrators->add(FakeTag::class, function(array $data, HydratorContainerInterface $hydrators) { |
|
245 | return new FakeTag($data['id'], $data['name']); |
|
246 | }); |