GithubHelp home page GithubHelp logo

phpcart's Introduction

PHPCart

Simple framework agnostic shopping cart.

Originally from https://github.com/anam-hossain/phpcart I've released this under my own namespace as I needed support for Laravel 7/8, at the time of writing this there is an open PR on the original repo which has not been responded to.

Features

  • Simple API
  • Support multiple cart instances
  • Framework agnostic

Requirements

  • PHP 7.3+

Installation

PHPCart is available via Composer

$ composer require dcblogdev/phpcart

Usage

Add Item

The add method required id, name, price and quantity keys. However, you can pass any data that your application required.

use Dcblogdev\Phpcart\Cart;

$cart = new Cart();

$cart->add([
    'id'       => 1001,
    'name'     => 'Skinny Jeans',
    'quantity' => 1,
    'price'    => 90
]);

Update Item

$cart->update([
    'id'       => 1001,
    'name'     => 'Hoodie'
]);

Update quantity

$cart->updateQty(1001, 3);

Update price

$cart->updatePrice(1001, 30);

Remove an Item

$cart->remove(1001);

Get all Items

$cart->getItems();
// or
$cart->items();

Get an Item

$cart->get(1001);

Determining if an Item exists in the cart

$cart->has(1001);

Get the total number of items in the cart

$cart->count();

Get the total quantities of items in the cart

$cart->totalQuantity();

Total sum

$cart->getTotal();

Empty the cart

$cart->clear();

Multiple carts

PHPCart supports multiple cart instances, so that you can have as many shopping cart instances on the same page as you want without any conflicts.

$cart = new Cart('cart1');
// or
$cart->setCart('cart2');
$cart->add([
    'id'       => 1001,
    'name'     => 'Skinny Jeans',
    'quantity' => 1,
    'price'    => 90
]);

//or
$cart->named('cart3')->add([
    'id'       => 1001,
    'name'     => 'Jeans',
    'quantity' => 2,
    'price'    => 100
]);

phpcart's People

Contributors

dcblogdev avatar thursdaydan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.