Phalcon - Gestion de session

Les sessions sont un stockage d'informations côté serveur qui facilite l'interaction de l'utilisateur avec le site Web ou l'application Web. Chaque session est définie de manière unique avec un ID de session, qui est transmis au serveur Web chaque fois que le navigateur effectue une requête HTTP. L'ID de session est associé à chaque fois à la base de données interne de sorte que toutes les variables stockées soient récupérées.

Sessions à Phalcon

Phalcon utilise des composants de session qui incluent les wrappers pour accéder aux données de session.

Voici les fonctionnalités de Phalcon -

  • Les données de session peuvent être isolées des autres composants sur le même domaine.

  • Selon les besoins de l'application, la valeur de session peut être modifiée à l'aide de l'adaptateur de session.

Démarrer une session dans Phalcon

Toutes les activités de session sont associées aux fichiers d'adaptateur qui sont déclarés dans Services.php fichier dans le /config dossier de l'application Web.

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

Créer une session

Step 1 - Créez un contrôleur de session pour instancier une session afin que les données puissent être récupérées de manière appropriée.

Step 2 - Créez une session avec un nom et une valeur.

<?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); 
      } 
   } 
}

Le code ci-dessus produit la sortie suivante.

Supprimer une session

Il est possible de détruire la session ou d'annuler certaines valeurs de variables dans la session dans Phalcon.

Voici la syntaxe pour annuler la définition des valeurs de variable dans la session.

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

Comme indiqué dans l'exemple ci-dessus, le nom de la variable créée dans la session est “data-content” qui peut être supprimé à l'aide du code suivant.

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

Voici la syntaxe pour détruire la session complète.

$this->session->destroy();