Code Monkey home page Code Monkey logo

cart's Introduction

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

cart's People

Contributors

seikan avatar atanasov avatar bigmanatee avatar

Watchers

Zeyd Duran avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.