/** * 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); }
/** * Construct with attributes * * @param array $attributes */ public function __construct(array $attributes = []) { if (isset($attributes['meta'])) { $attributes['meta'] = new Meta($attributes['meta']); } parent::__construct($attributes); }
/** * @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(); }
/** * 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); }
/** * 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); }
/** * 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); }