Spec-Zone.ru › Symfony 2.8

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)

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

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

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

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

Параметры

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

Возвращаемое значение

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

Исключения

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

save()

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

Этот метод должен вызывать sessionwriteclose(), если этот интерфейс используется для объекта хранилища, предназначенного для модульного или функционального тестирования, где реальная сессия 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.
http://api.symfony.com/2.7/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.html

Spec-Zone.ru

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