Phalcon - Gestione delle sessioni

Le sessioni sono l'archiviazione di informazioni lato server che aiuta nell'interazione dell'utente con il sito web o l'applicazione web. Ogni sessione è definita in modo univoco con un ID di sessione, che viene passato al server Web ogni volta che il browser effettua una richiesta HTTP. L'ID di sessione viene associato ogni volta al database interno in modo che tutte le variabili memorizzate vengano recuperate.

Sessioni a Phalcon

Phalcon utilizza componenti di sessione che includono i wrapper per accedere ai dati della sessione.

Di seguito sono riportate le funzionalità di Phalcon:

  • I dati della sessione possono essere isolati da altri componenti sullo stesso dominio.

  • In base alle esigenze dell'applicazione, il valore della sessione può essere modificato con l'aiuto dell'adattatore di sessione.

Avvio di una sessione in Phalcon

Tutte le attività della sessione sono associate ai file dell'adattatore dichiarati in Services.php file all'interno del /config cartella dell'applicazione web.

/** 
   * Start the session the first time some component requests the session service 
*/ 
$di->setShared('session', function () { 
   $session = new SessionAdapter(); 
   $session->start();  
   return $session; 
});

Creazione di una sessione

Step 1 - Creare un controller di sessione per creare un'istanza di una sessione in modo che i dati possano essere recuperati in modo appropriato.

Step 2 - Crea una sessione con un nome e un valore.

<?php  

class SessionController extends \Phalcon\Mvc\Controller { 
   public function indexAction() { 
      //Define a session variable 
      $this->session->set("user-name", "Omkar"); 
      
      //Check if the variable is defined 
      if ($this->session->has("user-name")) { 
         //Retrieve its value 
         $name = $this->session->get("user-name"); 
         echo($name); 
      } 
   } 
}

Il codice precedente produce il seguente output.

Rimozione di una sessione

È possibile distruggere la sessione o annullare l'impostazione di alcuni valori variabili all'interno della sessione in Phalcon.

Di seguito è riportata la sintassi per annullare l'impostazione dei valori delle variabili nella sessione.

$this->session->remove(<variable-name>);

Come mostrato nell'esempio sopra, il nome della variabile creata nella sessione è “data-content” che può essere rimosso utilizzando il codice seguente.

public function removeAction() { 
   // Remove a session variable with associated session 
   $this->session->remove("data-content"); 
}
;

Di seguito è riportata la sintassi per distruggere l'intera sessione.

$this->session->destroy();