Cart abstraction layer.
Via Composer
$ composer require indigophp/cartTo see a proof of concept implementation, check this library.
use Indigo\Cart\Cart;
use Indigo\Cart\Item;
use Indigo\Cart\Store;
/* Note: these are interfaces, you cannot instantiate them */
$cart = new Cart;
$cart->addItem(new Item);
// Get total price
$cart->getTotal();
// Get item count (item * quantity)
$cart->getQuantity();
foreach($cart->getItems() as $id => $item) {
// Get subtotal
$item->getSubtotal();
// Get price
$item->getPrice();
// Get name
$item->getName();
}
// Throws an Indigo\Cart\Exception\ItemNotFound
$cart->getItem('non_existent');
$store = new Store;
$store->save($cart);Get existing cart:
use Indigo\Cart\Store;
$store = new Store;
$cart = $store->find('cart_id');
// Throws an Indigo\Cart\Exception\CartNotFound
$store->find('non_existent');$ phpspec runPlease see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.