public function getOnPostSerializeData(Event $event) { $object = $event->getObject(); $context = $event->getContext(); $metadataStack = $context->getMetadataStack(); $visitingStack = $context->getVisitingStack(); $links = $this->linkFactory->createLinks($object); if ($this->deferredLinks->contains($object)) { // $object contains inlined objects that had links $links = array_merge($this->deferredLinks->offsetGet($object), $links ?: array()); $this->deferredLinks->detach($object); } if (null === $links) { return; } $parentObjectInlining = $this->metadataHelper->getParentObjectInlining($object, $context); if (null !== $parentObjectInlining) { if ($this->deferredLinks->contains($parentObjectInlining)) { $links = array_merge($this->deferredLinks->offsetGet($parentObjectInlining), $links); } // We need to defer the links serialization to the $parentObject $this->deferredLinks->attach($parentObjectInlining, $links); return; } $visitor = $event->getVisitor(); return $this->linkSerializationHelper->createGenericLinksData($links, $visitor); }
private function addLinks($classNameMatchesArr, Event $event) { if (method_exists($classNameMatchesArr[0][0], 'getLinks')) { $object = $event->getObject(); $event->getVisitor()->addData('_links', $object->getLinks($this->container)); } }
public function getOnPostSerializeData(Event $event) { $object = $event->getObject(); $context = $event->getContext(); $metadataStack = $context->getMetadataStack(); $visitingStack = $context->getVisitingStack(); $relationsContent = $this->contentFactory->create($object); $visitor = $event->getVisitor(); $relationsData = array(); if (null !== $relationsContent) { $context->startVisiting($object); foreach ($relationsContent as $relationMetadata) { $relationContent = $relationsContent[$relationMetadata]; $this->addRelationRelations($event, $relationContent, $relationMetadata); $relationsData[$relationMetadata->getRel()] = $visitor->getNavigator()->accept($relationContent, $this->getContentType($relationMetadata->getContent()), $event->getContext()); } $context->stopVisiting($object); } if ($this->deferredEmbeds->contains($object)) { // $object contains inlined objects that had links $relationsData = array_merge($this->deferredEmbeds->offsetGet($object), $relationsData); $this->deferredEmbeds->detach($object); } $parentObjectInlining = $this->metadataHelper->getParentObjectInlining($object, $context); if (null !== $parentObjectInlining) { if ($this->deferredEmbeds->contains($parentObjectInlining)) { $relationsData = array_merge($this->deferredEmbeds->offsetGet($parentObjectInlining), $relationsData); } // We need to defer the links serialization to the $parentObject $this->deferredEmbeds->attach($parentObjectInlining, $relationsData); return null; } return null !== $relationsContent || !empty($relationsData) ? $relationsData : null; }
/** * @param AfterSerializeEvent */ public function onPostSerialize(Event $event) { $notification = $event->getObject(); $objetive = $notification->getObjetive(); switch ($notification->getType()) { case 'NEW_COMMENT': case 'REPLY_TO_COMMENT': $objetive = $this->em->getRepository("juzzCommentsBundle:Comentarios")->find($objetive); break; default: break; } $visitor = $event->getVisitor(); //$this->serializer->serialize($objetive,'json'); $visitor->addData('objetive', 1); }
public function onPostSerialize(Event $event) { $author = $event->getObject(); $event->getVisitor()->addData('_links', array('details' => 'http://foo.bar/details/' . $author->getName(), 'comments' => 'http://foo.bar/details/' . $author->getName() . '/comments')); }
public function onPostSerialize(Event $event) { $event->getVisitor()->setData('full_name', 'new name'); }