Spec-Zone.ru › Symfony 3.2

PhpBridgeSessionStorage

class PhpBridgeSessionStorage extends NativeSessionStorage

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

Методы

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

Конструктор.

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

Устанавливает MetadataBag.

из NativeSessionStorage
MetadataBag getMetadataBag()

Получает MetadataBag.

из NativeSessionStorage
bool isStarted()

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

из NativeSessionStorage
setOptions(array $options)

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

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

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

из NativeSessionStorage

Подробности

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

Конструктор.

Параметры

AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $handler
MetadataBag $metaBag MetadataBag.

AbstractProxy getSaveHandler()

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

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

AbstractProxy

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)

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

Этот метод должен вызвать 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()

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

registerBag(SessionBagInterface $bag)

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

Параметры

SessionBagInterface $bag

SessionBagInterface getBag(string $name)

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

Параметры

string $name

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

SessionBagInterface

Исключения

InvalidArgumentException Если пакета нет

setMetadataBag(MetadataBag $metaBag = null)

Устанавливает MetadataBag.

Параметры

MetadataBag $metaBag

MetadataBag getMetadataBag()

Получает MetadataBag.

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

MetadataBag

bool isStarted()

Проверяет, начат ли сеанс.

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

bool True, если начат, иначе false.

setOptions(array $options)

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

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

Параметры

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

См. также

http://php.net/session.configuration

setSaveHandler(AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $saveHandler = null)

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

Чтобы использовать внутренние обработчики сохранения сеанса PHP, переопределите этот метод с использованием iniset с session.savehandler и session.save_path, например:

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

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

Параметры

AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $saveHandler

Исключения

InvalidArgumentException

См. также

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

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

Spec-Zone.ru

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