/** * @param CLImate $cli * @param array $arguments * @return void */ public function execute(CLImate $cli, $arguments) { if (!$arguments['trackingNumber']) { $cli->error('ERROR. No tracking number provided.'); return null; } $chronopostAdapter = new ChronopostAdapter(); $deliveryTracking = new DeliveryTracking($chronopostAdapter); $cli->br(); try { $status = $deliveryTracking->getDeliveryStatus($arguments['trackingNumber']); $cli->out(sprintf('Delivery #%s is <green>%s</green>', $arguments['trackingNumber'], $status)); } catch (\Exception $e) { $cli->error(sprintf('ERROR. %s', $e->getMessage())); } $cli->br(); }