示例#1
0
 /**
  * Construct with attributes
  *
  * @param array $attributes
  */
 public function __construct(array $attributes = [])
 {
     if (isset($attributes['data'])) {
         if (isset($attributes['data']['type'])) {
             $attributes['data'] = new Resource($attributes['data']);
         } else {
             foreach ($attributes['data'] as $index => $resource) {
                 $attributes['data'][$index] = new Resource($resource);
             }
         }
     }
     if (isset($attributes['included'])) {
         if (isset($attributes['included']['type'])) {
             $attributes['included'] = new Resource($attributes['included']);
         } else {
             foreach ($attributes['included'] as $index => $resource) {
                 $attributes['included'][$index] = new Resource($resource);
             }
         }
     }
     if (isset($attributes['errors'])) {
         foreach ($attributes['errors'] as $index => $error) {
             $attributes['errors'][$index] = new Error($error);
         }
     }
     if (isset($attributes['meta'])) {
         $attributes['meta'] = new Meta($attributes['meta']);
     }
     if (isset($attributes['jsonapi'])) {
         $attributes['jsonapi'] = new JsonApi($attributes['jsonapi']);
     }
     parent::__construct($attributes);
 }
示例#2
0
 /**
  * Construct with attributes
  *
  * @param array $attributes
  */
 public function __construct(array $attributes = [])
 {
     if (isset($attributes['meta'])) {
         $attributes['meta'] = new Meta($attributes['meta']);
     }
     parent::__construct($attributes);
 }
示例#3
0
 /**
  * @return array|string
  */
 public function toArray()
 {
     // make simple version if there is no meta data set
     if (empty($this->getAttribute('meta'))) {
         return $this->getAttribute('href') ?: '';
     }
     return parent::toArray();
 }
示例#4
0
 /**
  * Construct with attributes
  *
  * @param array $attributes
  */
 public function __construct(array $attributes = [])
 {
     // normalize attribute keys to snake case syntax
     foreach (array_keys($attributes) as $key) {
         $normalizedKey = str_replace('-', '_', $key);
         if ($normalizedKey === $key) {
             continue;
         }
         $attributes[$normalizedKey] = $attributes[$key];
         unset($attributes[$key]);
     }
     parent::__construct($attributes);
 }
示例#5
0
 /**
  * Construct with attributes
  *
  * @param array $attributes
  */
 public function __construct(array $attributes = [])
 {
     if (isset($attributes['links'])) {
         foreach ($attributes['links'] as $key => $link) {
             if (is_string($link)) {
                 $link = ['href' => $link];
             }
             $attributes['links'][$key] = new Link($link);
         }
     }
     if (isset($attributes['source'])) {
         $attributes['source'] = new ErrorSource($attributes['source']);
     }
     if (isset($attributes['meta'])) {
         $attributes['meta'] = new Meta($attributes['meta']);
     }
     parent::__construct($attributes);
 }
示例#6
0
 /**
  * Construct with attributes
  *
  * @param array $attributes
  */
 public function __construct(array $attributes = [])
 {
     if (isset($attributes['data'])) {
         if (isset($attributes['data']['type'])) {
             $attributes['data'] = new Resource($attributes['data']);
         } else {
             foreach ($attributes['data'] as $index => $resource) {
                 $attributes['data'][$index] = new Resource($resource);
             }
         }
     }
     if (isset($attributes['links'])) {
         foreach ($attributes['links'] as $key => $link) {
             if (is_string($link)) {
                 $link = ['href' => $link];
             }
             $attributes['links'][$key] = new Link($link);
         }
     }
     if (isset($attributes['meta'])) {
         $attributes['meta'] = new Meta($attributes['meta']);
     }
     parent::__construct($attributes);
 }