PHPCart
Simple framework agnostic shopping cart., (*1)
Features
- Simple API
- Support multiple cart instances
- Framework agnostic, with optional Laravel integration
Requirements
Installation
PHPCart is available via Composer, (*2)
$ composer require anam/phpcart
Integrations
Laravel 4 and Laravel 5 integrations, (*3)
Although PHPCart is framework agnostic, it does support Laravel out of the box and comes with a Service provider and Facade for easy integration., (*4)
After you have installed the PHPCart, open the config/app.php file which is included with Laravel and add the following lines., (*5)
In the $providers array add the following service provider., (*6)
'Anam\Phpcart\CartServiceProvider'
Add the facade of this package to the $aliases array., (*7)
'Cart' => 'Anam\Phpcart\Facades\Cart'
You can now use this facade in place of instantiating the Cart yourself in the following examples., (*8)
Usage
Add Item
The add method required id
, name
, price
and quantity
keys. However, you can pass any data that your application required., (*9)
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., (*10)
$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
]);