Vendas Online via API com Mercado Pago - #11 Carrinho de Compras II
19/04/2020Na 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
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.
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.