mrprompt/shopping-cart

可重用购物车实现

dev-master 2018-12-30 23:32 UTC

This package is auto-updated.

Last update: 2024-08-29 05:06:26 UTC


README

Build Status Build Status Scrutinizer Code Quality Code Coverage Code Intelligence Status

这是一个可重用购物车实现。

安装

composer require mrprompt/shopping-cart

使用

初始化带有商品的商品车

您可以通过传递一个包含商品的数组来初始化一个商品车。一个商品是一个Item类的实例或实现ItemInterface接口。

use \MrPrompt\ShoppingCart\Cart;
use \MrPrompt\ShoppingCart\Item;

$items = [ 
    new Item(uniqid()),
    new Item(uniqid(), 1.00),
    new Item(uniqid(), 5.00, 10),
];

$cartId = uniqid();

$cart = new Cart($cartId, $items);

向购物车添加商品

您可以通过传递一个Item实例来向现有的购物车添加商品。

use \MrPrompt\ShoppingCart\Item;

$itemId = uniqid();
$itemPrice = 1.99;
$itemQuantity = 30;

$item = new Item($itemId, $itemPrice, $itemQuantity);

$cartId = uniqid();

$cart = new Cart($cartId);
$cart->addItem($item);

从购物车中移除商品

通过传递一个之前已添加到购物车的Item实例来移除它。

use \MrPrompt\ShoppingCart\Item;

$itemId = uniqid();
$itemPrice = 1.99;
$itemQuantity = 30;

$item = new Item($itemId, $itemPrice, $itemQuantity);

$cartId = uniqid();
$cart = new Cart([ $item ]);
$cart->removeItem($item);

清理购物车

要移除购物车中的所有商品,您可以使用cleanUp方法

use \MrPrompt\ShoppingCart\Cart;
use \MrPrompt\ShoppingCart\Item;

$itemId = uniqid();
$itemPrice = 1.99;
$itemQuantity = 30;
$item = new Item($itemId, $itemPrice, $itemQuantity);

$cartId = uniqid();
$cart = new Cart($cartId, [ $item ]);
echo $cart->count(); // === 1

$cart->cleanUp();

echo $cart->count(); // === 0

检查购物车是否为空

要检查购物车是否为空,您可以使用isEmpty方法

use \MrPrompt\ShoppingCart\Cart;
use \MrPrompt\ShoppingCart\Item;

$itemId = uniqid();
$itemPrice = 1.99;
$itemQuantity = 30;
$item = new Item($itemId, $itemPrice, $itemQuantity);

$cartId = uniqid();

$cart = new Cart($cartId, [ $item ]);
echo $cart->isEmpty(); // === false

$cart->cleanUp();

echo $cart->isEmpty(); // === true

测试

phpunit --coverage-text --testdox

MIT许可证