pashamesh/cart

简单的购物车包

2.0.0 2020-07-01 12:10 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:33 UTC


README

Build Status Coverage Status codecov.io Scrutinizer Code Quality Codacy Badge Latest Stable Version Total Downloads Latest Unstable Version PHP 7 ready License

PHP简单的购物车

此简单的购物车composer包使得将购物篮实现到您的应用程序中变得容易,并使用提供的大量数据存储之一存储购物车数据。如果您希望购物车数据存储在其他地方,您还可以注入自己的数据存储。

安装

您可以通过composer安装此包

composer require pashamesh/cart

使用方法

以下是此包的基本使用指南。

实例化购物车

在开始之前,您需要知道您将要使用哪种存储和标识方法。标识符是用来存储哪个购物车是为该用户而设计的。所以如果您将购物车存储在数据库中,那么您需要一个cookie(或存储标识符的其他方式)以便我们可以将用户与存储的购物车联系起来。

在这个例子中,我们将使用cookie标识符和session进行存储。

use voku\Cart\Cart;
use voku\Cart\Storage\Session;
use voku\Cart\Identifier\Cookie;

$cart = new Cart(new Session, new Cookie);

向购物车中插入项目

将项目插入购物车很容易。必需的键是id、name、price和quantity,尽管您可以传递任何您喜欢的自定义数据。

$cart->insert(
    array(
        'id'       => 'foo',
        'name'     => 'bar',
        'price'    => 100,
        'quantity' => 1
    )
);

为项目设置税率

您可以传递给插入方法的其他键之一是'tax'。这是一个百分比,您希望将其添加到项目的价格上。

在下面的示例中,我们将使用20%的税率。

$cart->insert(
    array(
        'id'       => 'foo',
        'name'     => 'bar',
        'price'    => 100,
        'quantity' => 1,
        'tax'      => 20
    )
);

更新购物车中的项目

您可以通过更新购物车项上的任何属性来更新您的购物车中的项目。例如,如果您处于购物车循环中,则可以使用以下示例更新特定项目。

foreach ($cart->contents() as $item)
{
    $item->name = 'Foo';
    $item->quantity = 1;
}

移除购物车项目

您可以通过使用任何购物车项上的$cart->remove()方法来移除您的购物车中的任何项目。

foreach ($cart->contents() as $item)
{
    $cart->remove($item->getIdentifier());
    // or even
    $cart->remove($item);
}

销毁/清空购物车

您可以通过使用destroy()方法来完全清空/销毁购物车。

$cart->destroy();

检索购物车内容

您可以使用以下方法循环购物车内容

$cart->contents();

您还可以通过将true作为第一个参数传递来以数组的形式返回购物车项

$cart->contents(true);

检索购物车中的总项目数

$cart->totalItems();

默认情况下,此方法将返回购物车中的所有项目及其数量。您可以将true作为第一个参数传递以获取所有唯一项目。

$cart->totalItems(true);

检索购物车总额

$cart->total();

默认情况下,total()方法将返回购物车的总价值(作为float),这将包括任何项目税。如果您想检索不含税的购物车总额,则可以将false传递给total()方法。

$cart->total(false);

检查购物车中是否有项目

$cart->has($itemIdentifier);

通过标识符检索项目对象

$cart->item($itemIdentifier);

购物车项

购物车项的一些功能可能也有助于您集成购物车。

检索项目的总价值

您可以使用以下方法检索特定购物车项的总价值(包括数量)。

$item->total();

默认情况下,此方法将返回项目总价值加税。所以如果您有一个价值100的产品,数量为2,税率为20%,那么此方法返回的总价值将是240。

您也可以通过将false传递给total()方法来获取减税后的总价值。

$item->total(false);

这将返回200。

检查一个项目是否有选项

您可以使用hasOptions()方法来检查购物车中的项目是否有选项。

if ($item->hasOptions())
{
  // We have options
}

从购物车中移除一个项目

$item->remove();

以数组形式输出项目数据

$item->toArray();