コード例 #1
0
ファイル: Relationship.php プロジェクト: woohoolabs/yang
 /**
  * @param string $name
  * @param array $array
  * @param \WoohooLabs\Yang\JsonApi\Schema\ResourceObjects $resources
  */
 public function __construct($name, array $array, ResourceObjects $resources)
 {
     $this->name = $name;
     $this->meta = $this->isArrayKey($array, "meta") ? $array["meta"] : [];
     $this->links = Links::createFromArray($this->isArrayKey($array, "links") ? $array["links"] : []);
     if ($this->isArrayKey($array, "data")) {
         if ($this->isAssociativeArray($array["data"])) {
             $this->isToOneRelationship = true;
             if (empty($array["data"]["type"]) === false && empty($array["data"]["id"]) === false) {
                 $this->resourceMap = [["type" => $array["data"]["type"], "id" => $array["data"]["id"]]];
             }
         } else {
             $this->isToOneRelationship = false;
             $this->resourceMap = [];
             foreach ($array["data"] as $item) {
                 if (empty($item["type"]) === false && empty($item["id"]) === false) {
                     $this->resourceMap[] = ["type" => $item["type"], "id" => $item["id"]];
                 }
             }
         }
     } else {
         $this->isToOneRelationship = null;
     }
     $this->resources = $resources;
 }
コード例 #2
0
ファイル: Error.php プロジェクト: woohoolabs/yang
 /**
  * @param array $error
  * @return $this
  */
 public static function createFromArray(array $error)
 {
     $id = empty($error["id"]) === false ? $error["id"] : "";
     $meta = isset($error["meta"]) && is_array($error["meta"]) ? $error["meta"] : [];
     $links = Links::createFromArray(isset($error["links"]) && is_array($error["links"]) ? $error["links"] : []);
     $status = empty($error["status"]) === false ? $error["status"] : "";
     $code = empty($error["code"]) === false ? $error["code"] : "";
     $title = empty($error["title"]) === false ? $error["title"] : "";
     $detail = empty($error["detail"]) === false ? $error["detail"] : "";
     $source = ErrorSource::fromArray(isset($error["source"]) && is_array($error["source"]) ? $error["source"] : []);
     return new self($id, $meta, $links, $status, $code, $title, $detail, $source);
 }
コード例 #3
0
ファイル: ResourceObject.php プロジェクト: woohoolabs/yang
 /**
  * @param array $array
  * @param \WoohooLabs\Yang\JsonApi\Schema\ResourceObjects $resources
  */
 public function __construct($array, ResourceObjects $resources)
 {
     $this->type = empty($array["type"]) ? "" : $array["type"];
     $this->id = empty($array["id"]) ? "" : $array["id"];
     $this->meta = $this->isArrayKey($array, "meta") ? $array["meta"] : [];
     $this->links = Links::createFromArray($this->isArrayKey($array, "links") ? $array["links"] : []);
     $this->attributes = $this->isArrayKey($array, "attributes") ? $array["attributes"] : [];
     $this->relationships = [];
     if ($this->isArrayKey($array, "relationships")) {
         foreach ($array["relationships"] as $name => $relationship) {
             $this->relationships[$name] = new Relationship($name, $relationship, $resources);
         }
     }
 }
コード例 #4
0
ファイル: Document.php プロジェクト: woohoolabs/yang
 /**
  * @param array $document
  * @return $this
  */
 public static function createFromArray(array $document)
 {
     if (isset($document["jsonApi"]) && is_array($document["jsonApi"])) {
         $jsonApi = $document["jsonApi"];
     } else {
         $jsonApi = [];
     }
     $jsonApiObject = JsonApi::createFromArray($jsonApi);
     if (isset($document["meta"]) && is_array($document["meta"])) {
         $meta = $document["meta"];
     } else {
         $meta = [];
     }
     if (isset($document["links"]) && is_array($document["links"])) {
         $links = $document["links"];
     } else {
         $links = [];
     }
     $linksObject = Links::createFromArray($links);
     if (isset($document["data"]) && is_array($document["data"])) {
         $data = $document["data"];
     } else {
         $data = [];
     }
     if (isset($document["included"]) && is_array($document["included"])) {
         $included = $document["included"];
     } else {
         $included = [];
     }
     $resources = new ResourceObjects($data, $included);
     $errors = [];
     if (isset($document["errors"]) && is_array($document["errors"])) {
         foreach ($document["errors"] as $error) {
             if (is_array($error)) {
                 $errors[] = Error::createFromArray($error);
             }
         }
     }
     return new self($jsonApiObject, $meta, $linksObject, $resources, $errors);
 }