Сеансы — это хранилище информации на стороне сервера, которое помогает пользователю взаимодействовать с веб-сайтом или веб-приложением. Каждый сеанс уникальным образом определяется идентификатором сеанса, который передается веб-серверу всякий раз, когда браузер выполняет HTTP-запрос. Идентификатор сеанса каждый раз связывается с внутренней базой данных, так что все сохраненные переменные извлекаются.
Сессии в Фальконе
Phalcon использует компоненты сеанса, которые включают в себя оболочки для доступа к данным сеанса.
Ниже приведены функции в Phalcon —
-
Данные сеанса могут быть изолированы от других компонентов в том же домене.
-
В зависимости от потребностей приложения значение сеанса может быть изменено с помощью адаптера сеанса.
Данные сеанса могут быть изолированы от других компонентов в том же домене.
В зависимости от потребностей приложения значение сеанса может быть изменено с помощью адаптера сеанса.
Начиная сессию в Phalcon
Все действия сеанса связаны с файлами адаптера, которые объявлены в файле Services.php в папке / config веб-приложения.
/** * Start the session the first time some component requests the session service */ $di->setShared('session', function () { $session = new SessionAdapter(); $session->start(); return $session; });
Создание сеанса
Шаг 1 — Создайте контроллер сеанса для создания экземпляра сеанса, чтобы данные могли быть получены соответствующим образом.
Шаг 2 — Создайте сеанс с именем и значением.
<?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); } } }
Приведенный выше код производит следующий вывод.
Удаление сеанса
Возможно уничтожить сеанс или сбросить некоторые значения переменных внутри сеанса в Phalcon.
Ниже приведен синтаксис для сброса значений переменных в сеансе.
$this->session->remove(<variable-name>);
Как показано в примере выше, имя переменной, созданной в сеансе, представляет собой «data-content», которое можно удалить с помощью следующего кода.
public function removeAction() { // Remove a session variable with associated session $this->session->remove("data-content"); }
;
Ниже приводится синтаксис для уничтожения всего сеанса.