anam / lara-phpcart
Laravel php shopping cart
Installs: 2 391
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 1
Open Issues: 1
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-10-26 13:15:58 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 ]);