本文整理汇总了PHP中Discount::importStdClass方法的典型用法代码示例。如果您正苦于以下问题:PHP Discount::importStdClass方法的具体用法?PHP Discount::importStdClass怎么用?PHP Discount::importStdClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Discount
的用法示例。
在下文中一共展示了Discount::importStdClass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: importJson
/**
* Import object data from json string.
* Note: Watch out for single index arrays becoming stdClass objects
*
* @param string JSON
* @param bool
* @return Cart
*/
public function importJson($json, $reset = true)
{
// strict parameter
if (!is_string($json)) {
return false;
}
// reset cart
if ($reset) {
$this->reset();
}
$cart = @(array) json_decode($json, true);
// just gimme an array
if (isset($cart['id'])) {
$this->setId($cart['id']);
}
if (isset($cart['customer'])) {
$customerData = $cart['customer'];
$customer = new Customer();
if (is_array($customerData)) {
$customer->importJson(json_encode($customerData));
$this->setCustomer($customer);
}
}
if (isset($cart['items']) && count($cart['items']) > 0) {
$items = $cart['items'];
foreach ($items as $productKey => $item) {
$itemJson = json_encode($item);
$item = new Item();
$item->importJson($itemJson);
$this->setItem($item);
}
}
if (isset($cart['shipments']) && count($cart['shipments']) > 0) {
$shipments = $cart['shipments'];
foreach ($shipments as $shipmentKey => $shipment) {
$tmpShipment = new Shipment();
if ($shipment instanceof stdClass) {
$tmpShipment->importStdClass($shipment);
$this->setShipment($tmpShipment);
} else {
if (is_array($shipment)) {
$tmpShipment->importJson(json_encode($shipment));
$this->setShipment($tmpShipment);
}
}
}
}
if (isset($cart['discounts']) && count($cart['discounts']) > 0) {
$discounts = $cart['discounts'];
foreach ($discounts as $discountKey => $discount) {
$tmpDiscount = new Discount();
if ($discount instanceof stdClass) {
$tmpDiscount->importStdClass($discount);
$this->setDiscount($tmpDiscount);
} else {
if (is_array($tmpDiscount)) {
$tmpDiscount->importJson(json_encode($discount));
$this->setDiscount($tmpDiscount);
}
}
}
}
if (isset($cart['include_tax'])) {
$includeTax = $cart['include_tax'];
$this->setIncludeTax($includeTax);
}
if (isset($cart['tax_rate'])) {
$taxRate = $cart['tax_rate'];
$this->setTaxRate($taxRate);
}
if (isset($cart['discount_taxable_last'])) {
$discountTaxableLast = $cart['discount_taxable_last'];
$this->setDiscountTaxableLast($discountTaxableLast);
}
return $this;
}