Сессия является очень важной концепцией в веб-приложении. Он предоставляет возможность сохранять данные пользователя на веб-сервере в течение ограниченного периода времени. Zend Framework предоставляет отдельный компонент, Zend -session для обработки информации о сеансе.
Установите компонент сеанса
Сессионный компонент может быть установлен с помощью Composer, как указано ниже —
composer require zendframework/zend-session
Сессионные компоненты
Zend Framework предоставляет шесть компонентов для управления сессиями. Все эти компоненты были объяснены ниже —
-
Zend \ Session \ Container — основной API для чтения и записи информации о сеансе.
-
Zend \ Session \ SessionManager — используется для управления всем жизненным циклом сеанса.
-
Zend \ Session \ Storage — используется для указания того, как данные сеанса будут храниться в памяти.
-
Zend \ Session \ SaveHandler — используется для хранения и извлечения данных сеанса в физическом месте, таком как RDBMS, Redis, MangoDB и т. Д.
-
Zend \ Session \ Validator — используется для защиты сессии от перехвата путем перекрестной проверки удаленного адреса исходного и последующего запроса и пользовательского агента.
-
Zend \ Session \ Config \ SessionConfig — используется для настройки поведения сессии.
Zend \ Session \ Container — основной API для чтения и записи информации о сеансе.
Zend \ Session \ SessionManager — используется для управления всем жизненным циклом сеанса.
Zend \ Session \ Storage — используется для указания того, как данные сеанса будут храниться в памяти.
Zend \ Session \ SaveHandler — используется для хранения и извлечения данных сеанса в физическом месте, таком как RDBMS, Redis, MangoDB и т. Д.
Zend \ Session \ Validator — используется для защиты сессии от перехвата путем перекрестной проверки удаленного адреса исходного и последующего запроса и пользовательского агента.
Zend \ Session \ Config \ SessionConfig — используется для настройки поведения сессии.
Конфигурации по умолчанию достаточно для работы с сеансом. Используя вышеупомянутые компоненты, все аспекты сеанса могут быть легко обработаны.
Пример компонента сеанса
Давайте придерживаться следующих пунктов, чтобы создать новую страницу для понимания сеанса в среде Zend. По умолчанию достаточно создать экземпляр класса Container для управления сеансами.
-
Создайте новое действие sessionAction в TutorialController .
-
Инициализируйте объект- контейнер .
Создайте новое действие sessionAction в TutorialController .
Инициализируйте объект- контейнер .
$c = new Container();
-
Проверьте, существует ли произвольное количество ключей. Если ключ недоступен, инициализируйте счет со значением 1. Если он доступен, увеличьте значение, как показано в следующем коде.
Проверьте, существует ли произвольное количество ключей. Если ключ недоступен, инициализируйте счет со значением 1. Если он доступен, увеличьте значение, как показано в следующем коде.
if (!isset($c->count)) { $c->count = 0; } else { $c->count++; }
-
Зарегистрируйте счетчик в ViewModel.
-
Создайте файл шаблона для — sessionAction, session.phtml в myapp / module / Tutorial / view / tutorial / tutorial / session.phtml и затем отобразите значение счетчика .
-
Обновление страницы увеличит значение счетчика в сеансе. Полный список выглядит следующим образом —
Зарегистрируйте счетчик в ViewModel.
Создайте файл шаблона для — sessionAction, session.phtml в myapp / module / Tutorial / view / tutorial / tutorial / session.phtml и затем отобразите значение счетчика .
Обновление страницы увеличит значение счетчика в сеансе. Полный список выглядит следующим образом —
TutorialController.php
public function sessionAction() { $c = new Container(); if (!isset($c->count)) { $c->count = 0; } else { $c->count++; } $view = new ViewModel([ 'count' => $c->count, ]); return $view; }
session.pthml
Session data, COUNT = <?= $this->count ?>
Образец результата