Spec-Zone.ru › Symfony 3.2

Интерфейс 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's HttpKernel предлагает обработчик для этого. См. Symfony\Component\HttpKernel\EventListener\SaveSessionListener. В противном случае данные сеанса могут снова потеряться для одновременных запросов с новым идентификатором. Результатом может стать выход из системы после входа в систему.

Параметры

bool $destroy Уничтожить сеанс при перегенерации?
int $lifetime Устанавливает срок действия cookie для 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/3.2/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.html

Spec-Zone.ru

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