Skip to content
A simple PHP shopping cart class to use in ecommerce web applications.
Branch: master
Clone or download
Pull request Compare This branch is even with seikan:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.md
class.Cart.php
example.php

README.md

Cart

This is a very simple PHP cart library. Cart data can either be saved in PHP session or browser cookie.

Usage

Configuration

$cart= new Cart( [array $options] );

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,
]);

Add Item

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',
]);

Update Item

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',
]);

Remove Item

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',
]);

Get Items

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 />';
  }
}

Check Cart Empty

Checks if the cart is empty.

bool $cart->isEmpty( );

if ($cart->isEmpty()) {
  echo 'There is nothing in the basket.';
}

Get Total Item

Gets the total of items in the cart.

int $cart->getTotaltem( );

echo 'There are '.$cart->getTotalItem().' items in the cart.';

Get Total Quantity

Gets the total of quantity in the cart.

int $cart->getTotalQuantity( );

echo $cart->getTotalQuantity();

Get Attribute Total

Gets the sum of a specific attribute.

int $cart->getAttributeTotal( string $attribute );

echo '<h3>Total Price: $'.number_format($cart->getAttributeTotal('price'), 2, '.', ',').'</h3>';

Clear Cart

Clears all items in the cart.

$cart->clear( );

$cart->clear();

Destroy Cart

Destroys the entire cart session.

$cart->destroy( );

$cart->destroy();

Item Exists

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.';
}
You can’t perform that action at this time.