girover/cart

为 Laravel 开发的购物车包

v0.1.2-alpha 2022-07-21 19:31 UTC

This package is auto-updated.

Last update: 2024-09-22 00:03:10 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

内容

简介

girover/cart 是一个用于电子商务网站的包,用于处理购物车。

先决条件

  • Laravel 8+
  • PHP 8+
  • Mysql 5.7+

安装

您可以通过 composer 添加此包

composer require girover/cart

在安装包之前,您应该配置您的数据库。

然后,您可以通过运行 Artisan 命令安装包

php artisan cart:install

此命令将处理以下任务

  • 将配置文件 config\cart.php 发布到 Laravel 应用的配置文件夹。
  • 将迁移文件发布到应用中的 Database\migrations 文件夹。
  • 迁移已发布的迁移。

配置

girover/cart 为在您的应用程序中使用购物车提供了两种方式。

  • 使用数据库驱动存储购物车数据。
  • 会话驱动以将购物车数据存储在会话中。

要指定使用哪种方式,您可以在 config/cart.php 文件中添加一个驱动。

    return [
        'driver' => 'database',
        //'driver' => 'session',
    ]

当将驱动设置为 database 时,购物车数据将存储在数据库表 carts 中。并且用户必须认证才能访问购物车功能。
当将驱动设置为 session 时,不使用数据库,数据将存储在会话中。另外,不需要认证用户来访问购物车功能。

在数据库购物车中,您的 User 模型必须使用特质 Girover\Cart\Concerns\HasCart

使用方法

要开始使用购物车,您可以使用全局辅助函数 shopping_cart
因此,您可以使用此函数添加项目、删除、增加或减少数量。

   // CartController

   shopping_cart()->add(['id'=>'1', 'name'=>'Iphone 13', 'price'=>1000], 'id');

请注意,第二个参数接受一个属性的名称,以确保项目与特定的键关联,这使得计数和处理项目更容易。例如,如果您选择 name,那么每次您将新的项目 Iphone 13 添加到购物车时,只有该项目的数量和总价将更改。

您还可以将模型作为第一个参数传递给购物车的 add 方法。

    use App\Models\Product;

    $product = Product::find(1);

    shopping_cart()->add($product, $product->id);

要增加购物车中特定项目的数量,您可以使用方法 increaseItemQuantity($key)

    $product = Product::find(1);
    shopping_cart()->increaseItemQuantity($product->id);

测试

变更日志

安全漏洞

致谢

许可证