Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Vendas Online via API com Mercado Pago - #11 Carrinho de Compras II

19/04/2020

Na aula de hoje continuaremos a construção do carrinho de compras criando a classe de produtos e a classe do carrinho.

Criando as classes do carrinho de compra com PHP

ClassProdutos.php

Essa classe será responsável por adicionar os produtos na classe de carrinho:

<?php
namespace Classes;

class ClassProdutos{

    private $id;
    private $description;
    private $price;

    public function __construct($id,$description, $price)
    {
        $this->setId($id);
        $this->setDescription($description);
        $this->setPrice($price);
    }

    public function getId(){return $this->id;}
    public function setId($id): void{$this->id = $id;}
    public function getDescription(){return $this->description;}
    public function setDescription($description): void{$this->description = $description;}
    public function getPrice(){return $this->price;}
    public function setPrice($price): void{$this->price = $price;}
}

No nosso arquivo controller instanciaremos as classes e passaremos os dados dos produtos para inserção no carrinho.

CarrinhoController.php

<?php
require("../lib/vendor/autoload.php");

$carrinho=new \Classes\ClassCarrinho();

if($_GET['action'] == 'add'){
    $product=new \Classes\ClassProdutos($_GET['id'],$_GET['product'],$_GET['price']);
    $carrinho->addProducts($product);
}

elseif($_GET['action'] == 'clear'){
    $carrinho->clearProducts();
}

var_dump($_SESSION);

//header("location: http://localhost/views/checkout.php");

ClassCarrinho.php

A classe de carrinho será aquela responsável por organizar os produtos na nossa SESSION carrinho:

<?php
namespace Classes;

class ClassCarrinho{

    public function __construct()
    {
        session_start();
    }

    //Add products
    public function addProducts(ClassProdutos $product)
    {
        if(isset($_SESSION['products']) && array_key_exists($product->getId(),$_SESSION['products'])){
            $_SESSION['products'][$product->getId()]['quantity']+=1;
        }else{
            $_SESSION['products'][$product->getId()]=[
                'id'=>$product->getId(),
                'description'=>$product->getDescription(),
                'price'=>$product->getPrice(),
                'quantity'=>1
            ];
        }
    }

    //Clear products
    public function clearProducts()
    {
        unset($_SESSION['products']);
    }

    //Get Quantity
    public function getQuantity()
    {
        $quantity=0;
        if(isset($_SESSION['products'])){
            foreach ($_SESSION['products'] as $product){
                $quantity+=$product['quantity'];
            }
        }
        return $quantity;
    }
}

Por hoje é só! Sucesso nos códigos e na vida.

Precisa montar um e-commerce? Suporte premium já: webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Vendas Online via API com Mercado Pago - #10 Carrinho de Compras I
Na aula de hoje iniciaremos a criação de um carrinho de compras para que possamos realizar compras com vários produtos utilizando a API do Mercado Pago.
Saiba mais!
Vendas Online via API com Mercado Pago - #12 Carrinho de Compras III
No tutorial de hoje iremos terminar o nosso carrinho de compras interligado ao Mercado Livre já exibindo os dados dos produtos no checkout.
Saiba mais!
Mercado Pago
Neste curso aprenderemos como desenvolver pagamentos através do checkout transparente da API do Mercado Pago.
Saiba mais!