gssc / laracart
Laravel/Lumen shop cart
dev-master
2021-06-17 19:45 UTC
Requires
- php: ^8.0
- ext-bcmath: *
- illuminate/container: ^7|^8
- illuminate/support: ^7|^8
- moneyphp/money: ^4.0
Requires (Dev)
- mockery/mockery: ^1
- orchestra/testbench: v5.18.0
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2025-02-18 04:20:03 UTC
README
Installation
composer require gssc/laracart
Configuration
Package configuration config/config.php
Getting started
Methods
Laracart::add() - Adding product to cart
<?php use Laracart\Facades\Laracart; // $product is array of shape Laracart\Shapes\ProductShape::class #[\JetBrains\PhpStorm\ArrayShape(\Laracart\Shapes\ProductShape::SHAPE)] $product = [ 'id' => 1, 'quantity' => 1, 'name' => 'Product', 'price' => \Money\Money::PLN(100) ]; // or Implementation of Laracart\Contracts\Product $product = new \Laracart\Concrete\Product(id: 1, name: 'Product', price: \Money\Money::PLN(100), quantity: 1) Laracart::add($product);
Laracart::remove() - Remove product from cart
<?php use Laracart\Facades\Laracart; // Return Laracart\Contracts\Product or null if not exist Laracart::remove(1);
Laracart::store() - Persist cart content
<?php use Laracart\Facades\Laracart; // Adding products etc. // ... // Store cart content in storage driver - look at configuration file Laracart::store(\Illuminate\Support\Facades\Auth::id());
Package has implements Eloquent driver Laracart\Services\Persist\Eloquent::class
Functionality has persist interface to replace driver. Laracart\Contracts\CartPersist
Interface CartPersist
provide:
store(string $identifier, Collection<Product> $products): bool
restore(string $identifier): Collection<Product> throws Laracart\ExceptionsNotFoundException
Laracart::items() - Cart content
<?php use Laracart\Facades\Laracart; // Adding products etc. // ... $products = Laracart::items(); // returns Collection<Product>