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 | Устанавливает срок действия куки для куки сеанса. Значение null оставит настройки системы неизменными, 0 установит куки для истечения с сеансом браузера. Время в секундах, и это не Unix timestamp. |
Возвращаемое значение
| 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.1/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.html