miladev / lara-cart
Laravel shopping cart
1.3
2023-09-23 06:46 UTC
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2026-06-11 07:15:04 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 miladev/lara-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 Miladev\Laracart\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 ]);
Coupons and Promo Codes
Apply a cart-level coupon or promo code to reduce the cart total.
$cart->applyCoupon([ 'code' => 'SAVE10', 'type' => 'percentage', // or: fixed 'value' => 10, ]); $discount = $cart->getDiscountAmount(); $total = $cart->getTotal();
Remove an applied coupon:
$cart->removeCoupon();
Future Features
- Tax calculation per item and per cart
- Discount rules and price modifiers
- Shipping methods and shipping cost calculation
- Cart fees such as handling or service fees
- Guest cart to authenticated user cart merge
- Cross-device cart synchronization
- Wishlist and saved-for-later support
- Cart item metadata and custom options
- Product model association and auto-sync from database
- Multiple cart instances with isolated totals
- Cart events and hooks for extensibility
- Currency support and locale-aware formatting
- Bulk pricing and tiered pricing rules
- Inventory and stock validation before checkout
- Cart expiration and cleanup
- Persistent storage drivers beyond session and database
- API resources for headless and frontend integrations
- Better validation and custom exceptions
- Full test coverage for all cart operations
- Support for the latest Laravel versions