Spec-Zone.ru › Symfony 4.1

SessionStorageInterface

интерфейс SessionStorageInterface

StorageInterface.

Методы

bool start()

Инициализирует сессию.

bool isStarted()

Проверяет, начата ли сессия.

string getId()

Возвращает идентификатор сессии.

setId(string $id)

Устанавливает идентификатор сессии.

mixed getName()

Возвращает имя сессии.

setName(string $name)

Устанавливает имя сессии.

bool regenerate(bool $destroy = false, int $lifetime = null)

Перегенерирует идентификатор, представляющий это хранилище.

save()

Принудительно сохраняет и закрывает сессию.

clear()

Очистить все данные сессии в памяти.

SessionBagInterface getBag(string $name)

Получает SessionBagInterface по имени.

registerBag(SessionBagInterface $bag)

Регистрирует SessionBagInterface для использования.

MetadataBag getMetadataBag()

Подробное описание

bool start()

Инициализирует сессию.

Значение результата

bool True, если начата

Исключения

RuntimeException если возникла проблема при инициализации сессии

bool isStarted()

Проверяет, начата ли сессия.

Значение результата

bool True, если начата, иначе false

string getId()

Возвращает идентификатор сессии.

Значение результата

string Идентификатор сессии или пустая строка

setId(string $id)

Устанавливает идентификатор сессии.

Параметры

string $id

mixed getName()

Возвращает имя сессии.

Значение результата

mixed Имя сессии

setName(string $name)

Устанавливает имя сессии.

Параметры

string $name

bool regenerate(bool $destroy = false, int $lifetime = null)

Перегенерирует идентификатор, представляющий это хранилище.

Этот метод должен вызывать session_regenerate_id($destroy), если этот интерфейс используется для объекта хранилища, предназначенного для тестирования на единицу или функционального тестирования, где реальная PHP-сессия будет мешать тестированию.

Обратите внимание, что regenerate+destroy не должно очищать данные сессии в памяти, а только удалять данные сессии из постоянного хранилища.

Внимание: при перегенерации идентификатора сессии блокировка в проектировании PHP-сессий не используется. См. https://bugs.php.net/bug.php?id=61470 для обсуждения. Поэтому необходимо убедиться, что перегенерированная сессия сохранена ДО отправки заголовков с новым идентификатором. Symfony's HttpKernel предоставляет обработчик для этого. См. Symfony\Component\HttpKernel\EventListener\SaveSessionListener. В противном случае данные сессии могут снова быть потеряны для параллельных запросов с новым идентификатором. Одним из результатов может быть выход из системы после входа в систему.

Параметры

bool $destroy Уничтожить сессию при перегенерации?
int $lifetime Устанавливает срок действия cookie для cookie сессии. Значение null оставит системные настройки без изменений, 0 установит cookie на истечение с сессией браузера. Время в секундах, и не является меткой времени Unix.

Значение результата

bool True, если сессия перегенерирована, false в случае ошибки

Исключения

RuntimeException Если при перегенерации этого хранилища произошла ошибка

save()

Принудительно сохраняет и закрывает сессию.

Этот метод должен вызывать session_write_close(), если этот интерфейс используется для объекта хранилища, предназначенного для тестирования на единицу или функционального тестирования, где реальная PHP-сессия будет мешать тестированию, в этом случае он должен фактически сохранять данные сессии, если это необходимо.

Исключения

RuntimeException если сессия сохранена без ее инициализации или если сессия уже закрыта

clear()

Очистить все данные сессии в памяти.

SessionBagInterface getBag(string $name)

Получает SessionBagInterface по имени.

Параметры

string $name

Значение результата

SessionBagInterface

Исключения

InvalidArgumentException Если пакет не существует

registerBag(SessionBagInterface $bag)

Регистрирует SessionBagInterface для использования.

Параметры

SessionBagInterface $bag

MetadataBag getMetadataBag()

Значение результата

MetadataBag

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API