src/Service/SessionService.php line 84

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  4. /**
  5.  * Session Service
  6.  */
  7. class SessionService
  8. {
  9.     private $session;
  10.     public function __construct(SessionInterface $session)
  11.     {
  12.         $this->session $session;
  13.         $this->session->start();
  14.     }
  15.     /**
  16.      * effettua la set in sessione dell'oggetto 'value' con chiave 'name'
  17.      */
  18.     public function set($name$value)
  19.     {
  20.         $this->session->set($name$value);
  21.     }
  22.     /**
  23.      * torna la chiave in sessione. se Null torna 'default'
  24.      */
  25.     public function get($name$default null)
  26.     {
  27.         return $this->session->get($name$default);
  28.     }
  29.     /**
  30.      * Rimuove la chiave in sessione
  31.      */
  32.     public function remove($name)
  33.     {
  34.         return $this->session->remove($name);
  35.     }
  36.     /**
  37.      * Controlla se esiste la chiave in sessione
  38.      */
  39.     public function has($name)
  40.     {
  41.         return $this->session->has($name);
  42.     }
  43.     /**
  44.      * Effettua la clear della sessione corrente senza invalidarla
  45.      */
  46.     public function clear()
  47.     {
  48.         return $this->session->clear();
  49.     }
  50.     /**
  51.      * Torna tutte gli oggetti della sessione corrente
  52.      */
  53.     public function getAll()
  54.     {
  55.         return $this->session->all();
  56.     }
  57.     /**
  58.      * Invalida la sessione corrente
  59.      */
  60.     public function invalidate()
  61.     {
  62.         $this->session->invalidate();
  63.     }
  64.     /**
  65.      * Torna id della sessione corrente
  66.      */
  67.     public function getId()
  68.     {
  69.         $this->session->getId();
  70.     }
  71.     public function isExpired()
  72.     {
  73.         if ((time() > $this->session->getMetadataBag()->getCreated() +
  74.             $this->session->getMetadataBag()->getLifetime())) {
  75.             $this->invalidate();
  76.             return true;
  77.         } else {
  78.             return false;
  79.         }
  80.     }
  81. }