voku/cart
Composer 安装命令:
composer require voku/cart
包简介
Simple shopping cart package
README 文档
README
Simple Shopping Cart for PHP
This simple shopping cart composer package makes it easy to implement a shopping basket into your application and store the cart data using one of the numerous data stores provided. You can also inject your own data store if you would like your cart data to be stored elsewhere.
Installation
Download and install composer from http://www.getcomposer.org/download
Add the following to your project composer.json file
{
"require": {
"voku/cart": "1.*"
}
}
When you're done just run php composer.phar install and the package is ready to be used.
Usage
Below is a basic usage guide for this package.
Instantiating the cart
Before you begin, you will need to know which storage and identifier method you are going to use. The identifier is how you store which cart is for that user. So if you store your cart in the database, then you need a cookie (or some other way of storing an identifier) so we can link the user to a stored cart.
In this example we're going to use the cookie identifier and session for storage.
use voku\Cart\Cart; use voku\Cart\Storage\Session; use voku\Cart\Identifier\Cookie; $cart = new Cart(new Session, new Cookie);
Inserting items into the cart
Inserting an item into the cart is easy. The required keys are id, name, price and quantity, although you can pass over any custom data that you like.
$cart->insert( array( 'id' => 'foo', 'name' => 'bar', 'price' => 100, 'quantity' => 1 ) );
Setting the tax rate for an item
Another key you can pass to your insert method is 'tax'. This is a percentage which you would like to be added onto the price of the item.
In the below example we will use 20% for the tax rate.
$cart->insert( array( 'id' => 'foo', 'name' => 'bar', 'price' => 100, 'quantity' => 1, 'tax' => 20 ) );
Updating items in the cart
You can update items in your cart by updating any property on a cart item. For example, if you were within a cart loop then you can update a specific item using the below example.
foreach ($cart->contents() as $item) { $item->name = 'Foo'; $item->quantity = 1; }
Removing cart items
You can remove any items in your cart by using the remove() method on any cart item.
foreach ($cart->contents() as $item) { $item->remove(); }
Destroying/emptying the cart
You can completely empty/destroy the cart by using the destroy() method.
$cart->destroy()
Retrieve the cart contents
You can loop the cart contents by using the following method
$cart->contents();
You can also return the cart items as an array by passing true as the first argument
$cart->contents(true);
Retrieving the total items in the cart
$cart->totalItems();
By default this method will return all items in the cart as well as their quantities. You can pass true
as the first argument to get all unique items.
$cart->totalItems(true);
Retrieving the cart total
$cart->total();
By default the total() method will return the total value of the cart as a float, this will include
any item taxes. If you want to retrieve the cart total without tax then you can do so by passing false to the
total() method
$cart->total(false);
Check if the cart has an item
$cart->has($itemIdentifier);
Retreive an item object by identifier
$cart->item($itemIdentifier);
Cart items
There are several features of the cart items that may also help when integrating your cart.
Retrieving the total value of an item
You can retrieve the total value of a specific cart item (including quantities) using the following method.
$item->total();
By default, this method will return the total value of the item plus tax. So if you had a product which costs 100, with a quantity of 2 and a tax rate of 20% then the total returned by this method would be 240.
You can also get the total minus tax by passing false to the total() method.
$item->total(false);
This would return 200.
Check if an item has options
You can check if a cart item has options by using the hasOptions() method.
if ($item->hasOptions()) { // We have options }
Remove an item from the cart
$item->remove();
Output the item data as an array
$item->toArray();
voku/cart 适用场景与选型建议
voku/cart 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6.48k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2016 年 02 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 voku/cart 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 voku/cart 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 6.48k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 18
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-02-15