Документация/Контейнер/Сервисы/Session

Сессии

Механизм пользовательских сессий представлен во фреймворке HLEB2 сервисом Session — простой обёрткой над PHP-функциями для работы с сессиями.

Способы использования Session в контроллерах (и всех классах, унаследованных от Hleb\Base\Container) на примере получения значения из сессии:

// variant 1
use Hleb\Reference\SessionInterface;
$value $this->container->get(SessionInterface::class)->get('session_name');

// variant 2
$value $this->container->session()->get('session_name');

Пример обращения к сессии в коде приложения:

// variant 1
use Hleb\Static\Container;
use 
Hleb\Reference\SessionInterface;
$value Container::get(SessionInterface::class)->get('session_name');

// variant 2
use Hleb\Static\Session;
$value Session::get('session_name');

Также объект Session может быть получен через внедрение зависимостей по интерфейсу Hleb\Reference\Interface\Session.

Для упрощения примеров, далее они будут содержать только обращение через Hleb\Static\Session.

В стандартной реализации сервиса Session его методы соответствующим образом используют глобальную переменную $_SESSION.


#get()

Метод get() возвращает данные сессии по названию параметра.

use Hleb\Static\Session;

$value Session::get('session_name');

#set()

При помощи метода set() можно назначить данные сессии по названию.

use Hleb\Static\Session;

Session::set('session_name''value');

#delete()

Метод delete() удаляет данные сессии по названию.


#clear()

Метод clear() очищает все данные сессии.


#all()

Метод all() возвращает массив со всеми данными сессии.


#getSessionId()

Метод getSessionId() возвращает идентификатор текущей сессии.
Идентификатор сессии изменяется в настройках конфигурации 'session.name' файла /config/system.php и изначально установлен как 'PHPSESSID'.


#Асинхронный режим

При асинхронном использовании фреймворка методы сервиса Session функционируют аналогичным образом, но при этом используется другой механизм их установки и чтения.

DB Cookies

Страница создана: @fomiash
К началу страницы