<?php
namespace App\Service;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\RequestStack;
class SessionService
{
private $session;
private $cart;
private $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
$this->session = $this->requestStack->getSession();
// dd($this->session);
if(!$this->session->has('cart')){
if(!$this->session) $this->session->start();
$this->cart = [];
}else{
$this->cart = $this->session->get('cart');
}
}
public function get(): array{
return $this->cart;
}
public function update(array $cart): array
{
$this->cart = $cart;
$this->session->set('cart', $this->cart);
return $this->cart;
}
public function clear()
{
$this->session->invalidate();
}
public function empty()
{
$this->cart = [];
$this->session->set('cart', $this->cart);
}
}