This is a very simple PHP cart library. Cart data can either be saved in PHP session or browser cookie.
$cart= new Cart( [array $options] );
Parameter | Type | Description |
---|---|---|
cartMaxItem | int | The maximum item can be added to cart. 0 = Unlimited |
itemMaxQuantity | int | The maximum quantity per item can be added to cart. 0 = Unlimited |
useCookie | bool | Use cookie to keep cart data when browser is closed. |
// Include core Cart library
require_once 'class.Cart.php';
// Initialize Cart object
$cart = new Cart([
// Can add unlimited number of item to cart
'cartMaxItem' => 0,
// Set maximum quantity allowed per item to 99
'itemMaxQuantity' => 99,
// Do not use cookie, cart data will lost when browser is closed
'useCookie' => false,
]);
Adds an item to cart.
bool $cart->add( string $id[, int $quantity][, array $attributes] );
// Add item with ID #1001
$cart->add('1001');
// Add 5 item with ID #1002
$cart->add('1002', 5);
// Add item with ID #1003 with price, color, and size
$cart->add('1003', 1, [
'price' => '5.99',
'color' => 'White',
'size' => 'XS',
]);
// Item with same ID but different attributes will added as separate item in cart
$cart->add('1003', 1, [
'price' => '5.99',
'color' => 'Red',
'size' => 'M',
]);
Updates quantity of an item. Attributes must be provides if item with same ID exists with different attributes.
bool $cart->update( string $id, int $quantity[, array $attributes] );
// Set quantity for item #1001 to 5
$cart->update('1001', 5);
// Set quantity for item #1003 to 2
$cart->update('1003', 2, [
'price' => '5.99',
'color' => 'Red',
'size' => 'M',
]);
Removes an item. Attributes must be provided to remove specified item, or all items with same ID will be removed from cart.
bool $cart->remove( string $id[, array $attributes] );
// Remove item #1001
$cart->remove('1001');
// Remove item #1003 with color White and size XS
$cart->remove('1003', [
'price' => '5.99',
'color' => 'White',
'size' => 'XS',
]);
Gets a multi-dimensional array of items stored in cart.
array $cart->getItems( );
// Get all items in the cart
$allItems = $cart->getItems();
foreach ($allItems as $items) {
foreach ($items as $item) {
echo 'ID: '.$item['id'].'<br />';
echo 'Qty: '.$item['quantity'].'<br />';
echo 'Price: '.$item['attributes']['price'].'<br />';
echo 'Size: '.$item['attributes']['size'].'<br />';
echo 'Color: '.$item['attributes']['color'].'<br />';
}
}
Gets a multi-dimensional array of one item stored in cart.
array $cart->getItem( string $id[, string $hash] );
// Get first one item from the cart with id 1001
$theItem = $cart->getItem('1001');
// Get one item from the cart with any id and hash
$theItem = $cart->getItem($item['id'], $item['hash']);
Checks if the cart is empty.
bool $cart->isEmpty( );
if ($cart->isEmpty()) {
echo 'There is nothing in the basket.';
}
Gets the total of items in the cart.
int $cart->getTotaltem( );
echo 'There are '.$cart->getTotalItem().' items in the cart.';
Gets the total of quantity in the cart.
int $cart->getTotalQuantity( );
echo $cart->getTotalQuantity();
Gets the sum of a specific attribute.
int $cart->getAttributeTotal( string $attribute );
echo '<h3>Total Price: $'.number_format($cart->getAttributeTotal('price'), 2, '.', ',').'</h3>';
Clears all items in the cart.
$cart->clear( );
$cart->clear();
Destroys the entire cart session.
$cart->destroy( );
$cart->destroy();
Checks if an item exists in cart.
bool $cart->isItemExists( string $id[, array $attributes] );
if ($cart->isItemExists('1001')) {
echo 'This item already added to cart.';
}