Phalcon - Zarządzanie sesjami

Sesje to przechowywanie informacji po stronie serwera, które pomaga w interakcji użytkownika ze stroną internetową lub aplikacją internetową. Każda sesja jest jednoznacznie definiowana za pomocą identyfikatora sesji, który jest przekazywany do serwera WWW za każdym razem, gdy przeglądarka wysyła żądanie HTTP. Identyfikator sesji jest każdorazowo parowany z wewnętrzną bazą danych, tak że pobierane są wszystkie przechowywane zmienne.

Sesje w Phalcon

Phalcon używa komponentów sesji, które obejmują opakowania, aby uzyskać dostęp do danych sesji.

Oto funkcje Phalcon -

  • Dane sesji można odizolować od innych komponentów w tej samej domenie.

  • W zależności od potrzeb aplikacji wartość sesji można zmienić za pomocą adaptera sesji.

Rozpoczęcie sesji w Phalcon

Wszystkie działania sesji są powiązane z plikami adaptera, które są zadeklarowane w Services.php plik wewnątrz /config folder aplikacji internetowej.

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

Tworzenie sesji

Step 1 - Utwórz kontroler sesji do tworzenia instancji sesji, tak aby dane mogły być odpowiednio pobierane.

Step 2 - Utwórz sesję z nazwą i wartością.

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

Powyższy kod daje następujące dane wyjściowe.

Usuwanie sesji

Istnieje możliwość zniszczenia sesji lub usunięcia niektórych wartości zmiennych w ramach sesji w Phalcon.

Poniżej znajduje się składnia kasowania wartości zmiennych w sesji.

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

Jak pokazano w powyższym przykładzie, nazwa zmiennej utworzonej w sesji to “data-content” które można usunąć za pomocą następującego kodu.

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

Poniżej znajduje się składnia służąca do niszczenia całej sesji.

$this->session->destroy();