anam/lara-phpcart

Laravel php shopping cart

v1.0 2019-02-26 01:00 UTC

This package is auto-updated.

Last update: 2024-11-26 13:29:22 UTC


README

Laravel PHP shopping cart

Features

  • Simple API
  • Support multiple cart instances

Requirements

  • Laravel 5+

Installation

Lara-phpcart is available via Composer

$ composer require anam/lara-phpcart

Integrations

Laravel 5.5+ integrations

Package Discovery

anam/lara-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

After you have installed the Laravel-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

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