Phalcon - Sitzungsmanagement
Sitzungen sind serverseitige Informationsspeicher, die bei der Benutzerinteraktion mit der Website oder Webanwendung hilfreich sind. Jede Sitzung wird eindeutig mit einer Sitzungs-ID definiert, die an den Webserver übergeben wird, wenn der Browser eine HTTP-Anforderung stellt. Die Sitzungs-ID wird jedes Mal mit der internen Datenbank gekoppelt, sodass alle gespeicherten Variablen abgerufen werden.
Sitzungen in Phalcon
Phalcon verwendet Sitzungskomponenten, einschließlich der Wrapper, um auf die Sitzungsdaten zuzugreifen.
Im Folgenden sind die Funktionen in Phalcon aufgeführt:
Sitzungsdaten können von anderen Komponenten in derselben Domäne isoliert werden.
Je nach Anwendungsbedarf kann der Sitzungswert mit Hilfe des Sitzungsadapters geändert werden.
Starten einer Sitzung in Phalcon
Alle Sitzungsaktivitäten sind den Adapterdateien zugeordnet, die in deklariert sind Services.php Datei in der /config Ordner der Webanwendung.
/**
* Start the session the first time some component requests the session service
*/
$di->setShared('session', function () {
$session = new SessionAdapter();
$session->start();
return $session;
});
Sitzung erstellen
Step 1 - Erstellen Sie einen Sitzungscontroller zum Instanziieren einer Sitzung, damit Daten ordnungsgemäß abgerufen werden können.
Step 2 - Erstellen Sie eine Sitzung mit einem Namen und einem Wert.
<?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);
}
}
}
Der obige Code erzeugt die folgende Ausgabe.
Sitzung entfernen
Es ist möglich, die Sitzung zu zerstören oder einige Variablenwerte innerhalb der Sitzung in Phalcon zu deaktivieren.
Es folgt die Syntax zum Aufheben von Variablenwerten in der Sitzung.
$this->session->remove(<variable-name>);
Wie im obigen Beispiel gezeigt, lautet der in der Sitzung erstellte Variablenname “data-content” die mit dem folgenden Code entfernt werden kann.
public function removeAction() {
// Remove a session variable with associated session
$this->session->remove("data-content");
}
;;
Es folgt die Syntax zum Zerstören der gesamten Sitzung.
$this->session->destroy();