Spec-Zone.ru › Symfony 3.4

PhpBridgeSessionStorage

class PhpBridgeSessionStorage extends NativeSessionStorage

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

Методы

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

Возвращает экземпляр обработчика сохранения.

from NativeSessionStorage
bool start()

Инициализирует сессию.

string getId()

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

from NativeSessionStorage
setId(string $id)

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

from NativeSessionStorage
mixed getName()

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

from NativeSessionStorage
setName(string $name)

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

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

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

from NativeSessionStorage
save()

Вынужденное сохранение и закрытие сессии.

from NativeSessionStorage
clear()

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

registerBag(SessionBagInterface $bag)

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

from NativeSessionStorage
SessionBagInterface getBag(string $name)

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

from NativeSessionStorage
setMetadataBag(MetadataBag $metaBag = null)

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

from NativeSessionStorage
MetadataBag getMetadataBag()

Получить MetadataBag.

from NativeSessionStorage
bool isStarted()

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

from NativeSessionStorage
setOptions(array $options)

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

from NativeSessionStorage
setSaveHandler(SessionHandlerInterface|null $saveHandler = null)

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

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

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

Этот метод должен вызывать 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 сеанса. Значение 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)

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

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

Параметры

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

См. также

http://php.net/session.configuration

setSaveHandler(SessionHandlerInterface|null $saveHandler = null)

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

Для использования внутренних обработчиков сохранения PHP-сеансов переопределите этот метод с помощью iniset со session.savehandler и 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

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

Spec-Zone.ru

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