Spec-Zone.ru › Symfony 4.1

PhpBridgeSessionStorage

class PhpBridgeSessionStorage extends NativeSessionStorage

Позволяет начать сеанс с помощью PHP и управлять им с помощью Symfony.

Свойства

protected SessionBagInterface[] $bags из NativeSessionStorage
protected bool $started из NativeSessionStorage
protected bool $closed из NativeSessionStorage
protected AbstractProxy|SessionHandlerInterface $saveHandler из NativeSessionStorage
protected MetadataBag $metadataBag из NativeSessionStorage

Методы

__construct(SessionHandlerInterface|null $handler = null, MetadataBag $metaBag = null)
AbstractProxy|SessionHandlerInterface getSaveHandler()

Получает экземпляр обработчика сохранения.

из NativeSessionStorage
bool start()

Начинает сеанс.

string getId()

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

из NativeSessionStorage
setId(string $id)

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

из NativeSessionStorage
mixed getName()

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

из NativeSessionStorage
setName(string $name)

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

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

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

из NativeSessionStorage
save()

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

из NativeSessionStorage
clear()

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

registerBag(SessionBagInterface $bag)

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

из NativeSessionStorage
SessionBagInterface getBag(string $name)

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

из NativeSessionStorage
setMetadataBag(MetadataBag $metaBag = null) из NativeSessionStorage
MetadataBag getMetadataBag()

Получает MetadataBag.

из NativeSessionStorage
bool isStarted()

Проверяет, запущен ли сеанс.

из NativeSessionStorage
setOptions(array $options)

Устанавливает переменные ini session.*.

из NativeSessionStorage
setSaveHandler(SessionHandlerInterface|null $saveHandler = null)

Регистрирует обработчик сохранения сеанса как обработчик PHP сеанса.

из NativeSessionStorage
loadSession(array $session = null)

Загрузить сеанс с атрибутами.

из NativeSessionStorage

Детали

__construct(SessionHandlerInterface|null $handler = null, MetadataBag $metaBag = null)

Параметры

SessionHandlerInterface|null $handler
MetadataBag $metaBag MetadataBag

AbstractProxy|SessionHandlerInterface getSaveHandler()

Получение экземпляра обработчика сохранения.

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

AbstractProxy|SessionHandlerInterface

bool start()

Начало сессии.

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

bool True, если запущена

Исключения

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

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()

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

registerBag(SessionBagInterface $bag)

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

Параметры

SessionBagInterface $bag

SessionBagInterface getBag(string $name)

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

Параметры

string $name

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

SessionBagInterface

Исключения

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

setMetadataBag(MetadataBag $metaBag = null)

Параметры

MetadataBag $metaBag

MetadataBag getMetadataBag()

Получение MetadataBag.

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

MetadataBag

bool isStarted()

Проверка, запущена ли сессия.

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

bool True, если запущена, false в противном случае

setOptions(array $options)

Установка переменных ini session.*.

Для удобства мы опускаем «session.» в начале ключей. Явно игнорирует другие ключи ini.

Параметры

array $options Массив директив ini сессии (ключ => значение)

См. также

http://php.net/session.configuration

setSaveHandler(SessionHandlerInterface|null $saveHandler = null)

Регистрация обработчика сохранения сессии как обработчика PHP сессии.

Для использования внутренних обработчиков сохранения сессии PHP переопределите этот метод с использованием ini_set с session.save_handler и session.save_path, например.

ini_set('session.save_handler', 'files');
ini_set('session.save_path', '/tmp');

или передайте экземпляр \SessionHandler, который настраивает session.save_handler в конструкторе, для шаблона см. NativeFileSessionHandler или используйте обработчики в пакете composer drak/native-session

Параметры

SessionHandlerInterface|null $saveHandler

Исключения

InvalidArgumentException

См. также

http://php.net/session-set-save-handler
http://php.net/sessionhandlerinterface
http://php.net/sessionhandler
http://github.com/drak/NativeSession

protected loadSession(array $session = null)

Загрузка сессии с атрибутами.

После запуска сессии PHP извлекает сессию из обработчиков, которые установлены (либо внутренние PHP, либо пользовательский обработчик сохранения, заданный с помощью session_set_save_handler()). PHP принимает возвращаемое значение от обработчика read(), десериализует его и автоматически заполняет $_SESSION результатом.

Параметры

array $session

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

Spec-Zone.ru

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