shipping — Пространство имен для выбора списка Переполнение стека

Я пытаюсь использовать API FedEx по https://github.com/101medialab/shipping на моем сайте. я не хорошо с 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
)

)
)

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

-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 ко всем доступным методам.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]