Spec-Zone.ru › Symfony 3.0

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 для обсуждения. Поэтому вы должны убедиться, что сгенерированный сеанс сохранен ПЕРЕД отправкой заголовков с новым ID. Symfonys HttpKernel предоставляет слушатель для этого. См. Symfony\Component\HttpKernel\EventListener\SaveSessionListener. В противном случае данные сеанса могут снова потеряться для одновременных запросов с новым ID. Одним из результатов может быть выход из системы после входа в систему.

Параметры

bool $destroy Уничтожить сеанс при перегенерации?
int $lifetime Устанавливает срок действия куки для куки сеанса. Значение null оставит системные настройки без изменений, 0 установит куки для истечения срока действия с сеансом браузера. Время указано в секундах и не является отметкой 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.0/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.html

Spec-Zone.ru

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