gabrieljmj/cart

简单的购物车系统

dev-master 2015-01-01 19:19 UTC

This package is auto-updated.

Last update: 2024-09-16 03:18:04 UTC


README

Total Downloads Latest Unstable Version License Build Status Scrutinizer Code Quality

简单的购物车系统。

##用法 ####向购物车添加产品 使用方法 \Gabrieljmj\Cart\Cart::add(ProductInterface $product) 向购物车添加产品。如果之前已经添加了相同的产品,则会再添加一个到购物车。

use Gabrieljmj\Cart\Product\Product;
use Gabrieljmj\Cart\Cart;

$product = new Product(1, 'TV', 499.90, ['tv', 'led']);
$cart = new Cart();
$cart->add($product);

####从购物车中删除产品 使用 \Gabrieljmj\Cart\Cart::remove($product[, $amount = 0]) 可以从购物车中删除产品。如果 $amount0,则会删除该产品的所有实例。参数 $product 可以是一个 \Gabrieljmj\Cart\Product\ProductInterface 的实例或产品 ID。

$cart->remove(1);

####清空购物车 使用方法 \Gabrieljmj\Cart\Cart::clear

$cart->clear();

####验证购物车中是否有产品 参数 $product 可以是产品 ID 或一个 \Gabrieljmj\Cart\Product\ProductInterface 的实例。返回值将是一个布尔值。

$cart->has($product);

####计算购物车中的产品数量 方法 \Gabrieljmj\Cart\Cart::count() 返回购物车中的项目数量。

$cart->count();

####计算购物车中某种类型的产品数量 使用方法 \Gabrieljmj\Cart\Cart::getTotalOfAProduct($product),和其他方法一样,$product 可以是一个 \Gabrieljmj\Cart\Product\ProductInterface 的实例或产品 ID。

$cart->getTotalOfAProduct($product);

####计算购物车中不同类型的产品数量 该方法 (\Gabrieljmj\Cart\Cart::countUniqueItems()) 计算购物车中有多少种不同类型的产品。

$cart->countUniqueItems();

####计算购物车的总价 方法 \Gabrieljmj\Cart\Cart::getTotalPrice() 返回购物车的总费用。

$cart->getTotalPrice();

####遍历所有产品 每个产品将返回一个 \Gabrieljmj\Cart\Product\ProductInterface 的实例

$iterator = $cart->getIterator();

while ($iterator->valid()) {
    $curr = $iterator->current();
    echo '<li><b>Product:</b>' . $curr->getProduct()->getName() . ' / <b>Total:</b> ' . $cart->getTotalOfAProduct($curr) . '</li>';
    $iterator->next();
}

####存储 购物车实例通常保存在会话或cookie中。

$_SESSION['cart'] = $cart;
//or
setcookie('cart', $cart);