コード例 #1
0
 /**
  * {@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);
 }
コード例 #2
0
ファイル: JsonHalSerializer.php プロジェクト: ruudk/Hateoas
 /**
  * {@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);
 }
コード例 #3
0
 /**
  * Extract custom-url and add them to serialization.
  *
  * @param Webspace $webspace
  * @param Context $context
  * @param JsonSerializationVisitor $visitor
  */
 private function appendCustomUrls(Webspace $webspace, Context $context, JsonSerializationVisitor $visitor)
 {
     $customUrls = [];
     foreach ($webspace->getPortals() as $portal) {
         $customUrls = array_merge($customUrls, $this->getCustomUrlsForEnvironment($portal, $portal->getEnvironment($this->environment), $context));
     }
     $customUrls = $context->accept($customUrls);
     $visitor->addData('customUrls', $customUrls);
 }