indigophp/simple-cart

Simple implementation of Indigo Cart

dev-master / 0.1.x-dev 2015-01-26 17:03 UTC

This package is auto-updated.

Last update: 2020-09-19 00:48:08 UTC


README

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

Simple implementation of Indigo Cart.

Install

Via Composer

$ composer require indigophp/simple-cart

Usage

use Indigo\Cart\Cart;
use Indigo\Cart\Item;
use Indigo\Cart\Store;

/* Note: these are interfaces, you cannot instantiate them */

$cart = new Cart\Simple;

// Throws an exception if any of these are invalid
// name, price, quantity [, id]
$cart->addItem(new Item\Simple('Item', 1, 1, '_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');

// Accepts a session key
$store = new Store\Session('cart');
$store->save($cart);

Get existing cart:

use Indigo\Cart\Store;

$store = new Store\Session('cart');
$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.