indigophp/cart

Decent shopping cart and store abstraction


Keywords
cart, shopping
License
MIT

Documentation

Indigo Cart

Latest Version Software License Build Status Code Coverage Quality Score HHVM Status Total Downloads Dependency Status

Cart abstraction layer.

Install

Via Composer

$ composer require indigophp/cart

Usage

To 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');

Testing

$ phpspec run

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.