/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['time_to_fix' => null, 'satellites_prn' => [], 'azimuth' => [], 'elevation' => [], 'snr' => [], 'has_almanac' => [], 'has_ephemeris' => [], 'used_in_fix' => []], $values); $message->setTimeToFix($values['time_to_fix']); foreach ($values['satellites_prn'] as $item) { $message->addSatellitesPrn($item); } foreach ($values['azimuth'] as $item) { $message->addAzimuth($item); } foreach ($values['elevation'] as $item) { $message->addElevation($item); } foreach ($values['snr'] as $item) { $message->addSnr($item); } foreach ($values['has_almanac'] as $item) { $message->addHasAlmanac($item); } foreach ($values['has_ephemeris'] as $item) { $message->addHasEphemeris($item); } foreach ($values['used_in_fix'] as $item) { $message->addUsedInFix($item); } return $message; }