src/Service/SessionService.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use Symfony\Component\HttpFoundation\Session\Session;
  4. use Symfony\Component\HttpFoundation\RequestStack;
  5. class SessionService
  6. {
  7.     private $session;
  8.     private $cart;
  9.     private $requestStack;
  10.     public function __construct(RequestStack $requestStack)
  11.     {
  12.         $this->requestStack $requestStack;
  13.         $this->session $this->requestStack->getSession();
  14.         // dd($this->session);
  15.         if(!$this->session->has('cart')){
  16.             if(!$this->session$this->session->start();
  17.             $this->cart = [];
  18.         }else{
  19.             $this->cart $this->session->get('cart');
  20.         }
  21.     }
  22.     public function get(): array{
  23.         return $this->cart;
  24.     }
  25.     public function update(array $cart): array
  26.     {
  27.         $this->cart $cart;
  28.         $this->session->set('cart'$this->cart);
  29.         return $this->cart;
  30.     }
  31.     public function clear()
  32.     {
  33.         $this->session->invalidate();
  34.     }
  35.     public function empty()
  36.     {
  37.         $this->cart = [];
  38.         $this->session->set('cart'$this->cart); 
  39.     }
  40. }