/** * {@inheritdoc} */ public function serializeEmbeddeds(array $embeddeds, XmlSerializationVisitor $visitor, SerializationContext $context) { foreach ($embeddeds as $embedded) { if ($embedded->getData() instanceof \Traversable || is_array($embedded->getData())) { foreach ($embedded->getData() as $data) { $entryNode = $visitor->getDocument()->createElement('resource'); $visitor->getCurrentNode()->appendChild($entryNode); $visitor->setCurrentNode($entryNode); $visitor->getCurrentNode()->setAttribute('rel', $embedded->getRel()); if (null !== ($node = $context->accept($data))) { $visitor->getCurrentNode()->appendChild($node); } $visitor->revertCurrentNode(); } continue; } $entryNode = $visitor->getDocument()->createElement('resource'); $visitor->getCurrentNode()->appendChild($entryNode); $visitor->setCurrentNode($entryNode); $visitor->getCurrentNode()->setAttribute('rel', $embedded->getRel()); if (null !== ($node = $context->accept($embedded->getData()))) { $visitor->getCurrentNode()->appendChild($node); } $visitor->revertCurrentNode(); } }
/** * {@inheritdoc} */ public function serializeEmbeddeds(array $embeddeds, JsonSerializationVisitor $visitor, SerializationContext $context) { $serializedEmbeddeds = array(); $multiple = array(); foreach ($embeddeds as $embedded) { if (!isset($serializedEmbeddeds[$embedded->getRel()])) { $serializedEmbeddeds[$embedded->getRel()] = $context->accept($embedded->getData()); } elseif (!isset($multiple[$embedded->getRel()])) { $multiple[$embedded->getRel()] = true; $serializedEmbeddeds[$embedded->getRel()] = array($serializedEmbeddeds[$embedded->getRel()], $context->accept($embedded->getData())); } else { $serializedEmbeddeds[$embedded->getRel()][] = $context->accept($embedded->getData()); } } $visitor->addData('_embedded', $serializedEmbeddeds); }
/** * {@inheritdoc} */ public function serializeEmbedded(array $embeds, JsonSerializationVisitor $visitor, SerializationContext $context) { $serializedEmbeds = array(); foreach ($embeds as $embed) { $serializedEmbeds[$embed->getRel()] = $context->accept($embed->getData()); } $visitor->addData('_embedded', $serializedEmbeds); }
/** * @param DirectoryEntries $object * @param VisitorInterface $visitor * @param SerializationContext $context * @return string */ public function write($object, VisitorInterface $visitor, SerializationContext $context) { return $context->accept($object, $this->getType()); }
public function serialize(VisitorInterface $visitor, Form $form, array $type, SerializationContext $context) { return $context->accept($form->createView()); }