Hal\Resource::setLink PHP Method

    public function setLink(Link $link, $singular = false, $plural = false)
    {
        $rel = $link->getRel();
        if ($singular || !isset($this->_links[$rel]) && !$plural) {
            $this->_links[$rel] = $link;
        } else {
            if (isset($this->_links[$rel]) && !is_array($this->_links[$rel])) {
                $orig_link = $this->_links[$rel];
                $this->_links[$rel] = array($orig_link);
            }
            $this->_links[$rel][] = $link;
        }
        return $this;
    }

Usage Example

 /**
  * @param  array    $resourceInfo
  * @return Resource
  */
 public function process(array $resourceInfo)
 {
     $resource = new Resource($resourceInfo['links']['self'], $resourceInfo['data']);
     unset($resourceInfo['links']['self']);
     foreach ($resourceInfo['links'] as $key => $href) {
         $resource->setLink(new Link($href, $key));
     }
     if (isset($resourceInfo['embedded'])) {
         foreach ($resourceInfo['embedded'] as $rel) {
             foreach ($rel as $rel => $data) {
                 $resource->setEmbedded($rel, new Resource($data['links']['self'], $data['data']));
             }
         }
     }
     return $resource;
 }
All Usage Examples Of Hal\Resource::setLink