Simple framework agnostic shopping cart
Clone or download
anam-hossain Merge pull request #11 from barmmie/patch-1
Update composer.json to allow symfony version 4 and 3
Latest commit 042f7c5 Feb 19, 2018

README.md

PHPCart

Simple framework agnostic shopping cart.

Features

  • Simple API
  • Support multiple cart instances
  • Framework agnostic, with optional Laravel integration

Requirements

  • PHP 5.4+

Installation

PHPCart is available via Composer

$ composer require anam/phpcart

Integrations

Laravel 5.5+ integrations

Package Discovery

Anam\Phpcart utilize the Laravel's package auto discovery feature. So, you don't need to add manually Service provider and Facade in Laravel application's config/app.php. Laravel will automatically register the service provider and facades for you.

Laravel < 5.5 integrations

Although PHPCart is framework agnostic, it does support Laravel out of the box and comes with a Service provider and Facade for easy integration.

After you have installed the PHPCart, open the config/app.php file which is included with Laravel and add the following lines.

In the $providers array add the following service provider.

'Anam\Phpcart\CartServiceProvider'

Add the facade of this package to the $aliases array.

'Cart' => 'Anam\Phpcart\Facades\Cart'

You can now use this facade in place of instantiating the Cart yourself in the following examples.

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