/** * Hydrate the subject * * @param HydrationEvent $event * @return \Tmdb\Model\AbstractModel */ public function hydrateSubject(HydrationEvent $event) { $objectHydrator = new ObjectHydrator(); return $objectHydrator->hydrate($event->getSubject(), $event->getData()); }
/** * Hydrate the object with data * * @param AbstractModel $subject * @param array $data * @return AbstractModel */ protected function hydrate(AbstractModel $subject, $data = []) { $httpClient = $this->getHttpClient(); $event = new HydrationEvent($subject, $data); $event->setLastRequest($httpClient->getLastRequest()); $event->setLastResponse($httpClient->getLastResponse()); $this->getHttpClient()->getEventDispatcher()->dispatch(TmdbEvents::HYDRATE, $event); return $event->getSubject(); }