$data JSON data * @return self */ public static function fromArray(array $data): self { $destArray = new self(); $destArray->page_index = $data['page_index']; $destArray->dest = DestType::fromArray($data); return $destArray; } /** * Convert to JSON array * * @return array */ public function toArray(): array { $data = [ 'page_index' => $this->page_index, ]; // Merge dest type data $destData = $this->dest->toArray(); foreach ($destData as $key => $value) { $data[$key] = $value; } return $data; } }