token = $token; $this->expires = $expires; } /** * Sets the state of a token object * * @param array $state array containing 'token' and 'expires' */ public static function __set_state(array $state) { return new self($state['token'], $state['expires']); } /** * @return string */ public function getToken() { return $this->token; } /** * @return int */ public function getExpiration() { return $this->expires; } /** * @return bool */ public function isExpired() { return $this->expires !== null && \time() >= $this->expires; } /** * @return array */ public function toArray() { return ['token' => $this->token, 'expires' => $this->expires]; } /** * @return string */ public function serialize() { return \json_encode($this->__serialize()); } /** * Sets the state of the object from serialized json data */ public function unserialize($serialized) { $data = \json_decode($serialized, \true); $this->__unserialize($data); } /** * @return array */ public function __serialize() { return $this->toArray(); } /** * Sets the state of this object from an array */ public function __unserialize($data) { $this->token = $data['token']; $this->expires = $data['expires']; } }