2015-07-25 9 views
-1

Я пытаюсь использовать Fedex доставки api на https://github.com/101medialab/shipping на моем сайте. я не очень хорошо с PHP, когда я пытаюсь кодNamespaced объект для выбора списка php

$calculator = new MediaLab\Shipping\Calculator\FedExCalculator($key,$password, $accountNumber, $meterNumber); $calculator->calculate($source, $destination, $shipment);

я могу видеть ответ от так:

`

Array 
(
    [0] => MediaLab\Shipping\Model\Estimation Object 
     (
      [carrier:MediaLab\Shipping\Model\Estimation:private] => FedEx 
      [serviceName:MediaLab\Shipping\Model\Estimation:private] => First overnight 
      [serviceCode:MediaLab\Shipping\Model\Estimation:private] => FIRST_OVERNIGHT 
      [deliveryDate:MediaLab\Shipping\Model\Estimation:private] => DateTime Object 
       (
        [date] => 2015-07-27 08:00:00 
        [timezone_type] => 3 
        [timezone] => Europe/Paris 
       ) 

      [cost:MediaLab\Shipping\Model\Estimation:private] => MediaLab\Shipping\Model\Cost Object 
       (
        [currency:MediaLab\Shipping\Model\Cost:private] => USD 
        [amount:MediaLab\Shipping\Model\Cost:private] => 161.59 
       ) 

     ) 

    [1] => MediaLab\Shipping\Model\Estimation Object 
     (
      [carrier:MediaLab\Shipping\Model\Estimation:private] => FedEx 
      [serviceName:MediaLab\Shipping\Model\Estimation:private] => Priority overnight 
      [serviceCode:MediaLab\Shipping\Model\Estimation:private] => PRIORITY_OVERNIGHT 
      [deliveryDate:MediaLab\Shipping\Model\Estimation:private] => DateTime Object 
       (
        [date] => 2015-07-27 10:30:00 
        [timezone_type] => 3 
        [timezone] => Europe/Paris 
       ) 

      [cost:MediaLab\Shipping\Model\Estimation:private] => MediaLab\Shipping\Model\Cost Object 
       (
        [currency:MediaLab\Shipping\Model\Cost:private] => USD 
        [amount:MediaLab\Shipping\Model\Cost:private] => 71.65 
       ) 

     ) 
) 

` но я запутался о том, как могу ли я получить это значение для отображения в списке выбора. любая помощь будет оценена очень много.

+0

@charlie можете ответить на этот вопрос –

ответ

1

Ниже следует создать поле выбора для отображения результатов:

$calculator = new MediaLab\Shipping\Calculator\FedExCalculator($key,$password, $accountNumber, $meterNumber); 
$results = $calculator->calculate($source, $destination, $shipment); 

var $html = '<select>'; 
foreach ($results as $result) { 
    $cost = $result->getCost()->getCurrency() . $result->getCost()->getAmount(); 
    $html .= '<option name="' . $result->getServiceCode() . '">' . $result->getCarrier() . ' - ' . $result->getServiceName() . ' - ' . $result->getDeliveryDate() . ' - ' . $cost . '</option>'; 
} 
$html = '</select>'; 
echo $html; 

В принципе, вы Переберите результаты и использовать методы, предоставляемые объектом, чтобы получить данные, необходимые. Было бы полезно увидеть интерфейс класса по адресу https://github.com/101medialab/shipping/blob/master/src/MediaLab/Shipping/Model/EstimationInterface.php всем доступным методам.

+0

безупречный. это именно то, что я искал. Бог благословит вас @jawish. –