/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['status_code' => null, 'request_id' => null, 'requests' => [], 'platform_requests' => [], 'latitude' => null, 'longitude' => null, 'accuracy' => null, 'auth_info' => null, 'auth_ticket' => null, 'ms_since_last_locationfix' => null], $values); $message->setStatusCode($values['status_code']); $message->setRequestId($values['request_id']); $message->setLatitude($values['latitude']); $message->setLongitude($values['longitude']); $message->setAccuracy($values['accuracy']); $message->setAuthInfo($values['auth_info']); $message->setAuthTicket($values['auth_ticket']); $message->setMsSinceLastLocationfix($values['ms_since_last_locationfix']); foreach ($values['requests'] as $item) { $message->addRequests($item); } foreach ($values['platform_requests'] as $item) { $message->addPlatformRequests($item); } return $message; }