gssc/laracart

Laravel/Lumen 商店购物车

dev-master 2021-06-17 19:45 UTC

This package is auto-updated.

Last update: 2024-09-18 03:24:33 UTC


README

安装

composer require gssc/laracart

配置

包配置 config/config.php

入门

方法

Laracart::add() - 添加产品到购物车

<?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() - 从购物车中移除产品

<?php

use Laracart\Facades\Laracart;
// Return Laracart\Contracts\Product or null if not exist
Laracart::remove(1); 

Laracart::store() - 持久化购物车内容

<?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());

包实现了 Eloquent 驱动 Laracart\Services\Persist\Eloquent::class

功能提供了持久化接口以替换驱动。 Laracart\Contracts\CartPersist

接口 CartPersist 提供

  • store(string $identifier, Collection $products): bool
  • restore(string $identifier): Collection throws Laracart\ExceptionsNotFoundException

Laracart::items() - 购物车内容

<?php
use Laracart\Facades\Laracart;
// Adding products etc.
// ...
$products = Laracart::items(); // returns Collection<Product>