anam-hossain / phpcart by anam

Simple framework agnostic shopping cart
15,159
122
14
Package Data
Maintainer Username: anam
Maintainer Contact: enam33@gmail.com (Anam hossain)
Package Create Date: 2015-01-29
Package Last Update: 2020-07-16
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-12-04 03:21:32
Package Statistics
Total Downloads: 15,159
Monthly Downloads: 24
Daily Downloads: 3
Total Stars: 122
Total Watchers: 14
Total Forks: 30
Total Open Issues: 3

PHPCart

Simple framework agnostic shopping cart.

Features

  • Simple API
  • Support multiple cart instances
  • Framework agnostic

Requirements

  • PHP 5.4+

Installation

PHPCart is available via Composer

$ composer require anam/phpcart

Laravel Integrations

Use the following dedicated laravel package for PHPCart.

https://github.com/anam-hossain/lara-phpcart

Usage

Add Item

The add method required id, name, price and quantity keys. However, you can pass any data that your application required.

use Anam\Phpcart\Cart;

$cart = new Cart();

$cart->add([
    'id'       => 1001,
    'name'     => 'Skinny Jeans',
    'quantity' => 1,
    'price'    => 90
]);

Update Item

$cart->update([
    'id'       => 1001,
    'name'     => 'Hoodie'
]);

Update quantity

$cart->updateQty(1001, 3);

Update price

$cart->updatePrice(1001, 30);

Remove an Item

$cart->remove(1001);

Get all Items

$cart->getItems();
// or
$cart->items();

Get an Item

$cart->get(1001);

Determining if an Item exists in the cart

$cart->has(1001);

Get the total number of items in the cart

$cart->count();

Get the total quantities of items in the cart

$cart->totalQuantity();

Total sum

$cart->getTotal();

Empty the cart

$cart->clear();

Multiple carts

PHPCart supports multiple cart instances, so that you can have as many shopping cart instances on the same page as you want without any conflicts.

$cart = new Cart('cart1');
// or
$cart->setCart('cart2');
$cart->add([
    'id'       => 1001,
    'name'     => 'Skinny Jeans',
    'quantity' => 1,
    'price'    => 90
]);

//or
$cart->named('cart3')->add([
    'id'       => 1001,
    'name'     => 'Jeans',
    'quantity' => 2,
    'price'    => 100
]);