0, 'long' => 0]; /** * Get location id * * @return int * * @since 1.0.0 */ public function getId() : int { return $this->id; } /** * Get location type * * @return int * * @since 1.0.0 */ public function getType() : int { return $this->type; } /** * Set location type * * @param int $type Location type * * @return void * * @since 1.0.0 */ public function setType(int $type) : void { $this->type = $type; } /** * Get country code * * @return string * * @since 1.0.0 */ public function getCountry() : string { return $this->country; } /** * Set country code * * @param string $country Country name * * @return void * * @since 1.0.0 */ public function setCountry(string $country) : void { $this->country = $country; } /** * Get geo location * * @return float[] * * @since 1.0.0 */ public function getGeo() : array { return $this->geo; } /** * Set geo location * * @param float[] $geo Geo location lat/long * * @return void * * @since 1.0.0 */ public function setGeo(array $geo) : void { $this->geo = $geo; } /** * {@inheritdoc} */ public function serialize() : string { return (string) \json_encode($this->jsonSerialize()); } /** * {@inheritdoc} */ public function jsonSerialize() : mixed { return $this->toArray(); } /** * {@inheritdoc} */ public function toArray() : array { return [ 'postal' => $this->postal, 'city' => $this->city, 'country' => $this->country, 'address' => $this->address, 'state' => $this->state, 'geo' => $this->geo, ]; } /** * {@inheritdoc} */ public function unserialize($serialized) : void { $data = \json_decode($serialized, true); $this->postal = $data['postal']; $this->city = $data['city']; $this->country = $data['country']; $this->address = $data['address']; $this->state = $data['state']; $this->geo = $data['geo']; } }