tomshaw / shopcart
一个现代且易于使用的 Laravel 购物车
v1.5.0
2024-04-19 13:16 UTC
Requires
- php: ^8.1|^8.2
- illuminate/events: ^10.14|^11.0
- illuminate/session: ^10.14|^11.0
- illuminate/support: ^10.14|^11.0
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.10|^2.0
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^8.5|^9.0
- pestphp/pest: ^2.8|^3.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.1.1|^11.0
This package is auto-updated.
Last update: 2024-09-22 22:58:00 UTC
README
ShopCart 是一个现代且易于使用的 Laravel 购物车。
安装
您可以通过 composer 安装此包。
composer require tomshaw/shopcart
发布配置文件
php artisan vendor:publish --provider="TomShaw\ShopCart\Providers\ShopCartServiceProvider" --tag=config
要求
此包与 Laravel 10 和 11 兼容。
基本用法
向购物车添加商品。
注意:在创建或更新购物车商品时,会验证购物车商品的构造函数属性。
注意:创建并使用一个唯一的随机整数
rowId
来识别购物车商品。
use TomShaw\ShopCart\{Cart, CartItem}; $cartItem = CartItem::make(id: $product->id, name: $product->name, quantity: 1, price: $product->price); Cart::add($cartItem);
向购物车添加带有产品选项的商品。
$cartItem = CartItem::make($product->id, $product->name, 1, $product->price); $cartItem->size = 'XL'; $cartItem->logo = 'Laravel Rocks'; Cart::add($cartItem);
更新购物车中的商品和产品选项。
$cartItem = Cart::where('id', '===', $id)->first(); $cartItem->quantity = 5; $cartItem->size = '2XL'; Cart::update($cartItem);
从购物车中删除商品。
Cart::remove(Cart::get($rowId));
结账后删除购物车。
Cart::forget();
购物车总计
计算属性:
tax
、price
、subtotal
和quantity
。
$totalPrice = Cart::total('price');
$totalQuantity = Cart::total(property: 'quantity', numberFormat: false);
$subTotal = Cart::total('subtotal');
$totalTax = Cart::total('tax');
税率
要设置默认税率,请将以下环境变量添加到您的应用程序 .env
文件中。
SHOPCART_DEFAULT_TAXRATE=9.547
您可以在运行时轻松地应用特定项目的税率。
use TomShaw\ShopCart\{Cart, CartItem}; Cart::add(CartItem::make(tax: 6.250, ...));
数字格式化
数字格式化通过在您的应用程序 .env
文件中添加以下环境变量来处理。
SHOPCART_DECIMALS=2 SHOPCART_DECIMAL_SEPARATOR="." SHOPCART_THOUSANDS_SEPARATOR=","
代理方法
通过 rowId
从集合中获取商品。
$cartItem = Cart::get($rowId);
通过 rowId
检查购物车商品是否存在。
$boolean = Cart::has($rowId);
获取购物车作为集合或数组。
$cartItems = Cart::all(bool $toArray = false);
搜索特定的购物车商品。
$cartItems = Cart::where('id', '===', $productId);
检查购物车是否为空。
Cart::isEmpty();
Cart::isNotEmpty();
将购物车转换为 array
或 json
。
Cart::toArray();
Cart::toJson();
变更日志
有关对项目的更改,请参阅 变更日志。
贡献
有关详细信息,请参阅 CONTRIBUTING。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。