Spec-Zone.ru › Symfony 3.0

PhpBridgeSessionStorage

class PhpBridgeSessionStorage extends NativeSessionStorage

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

Методы

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

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

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

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

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

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

from 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), если этот интерфейс не используется для объекта хранилища, предназначенного для тестирования в среде unit или функционального тестирования, где реальный PHP сеанс будет мешать тестированию.

Обратите внимание, что regenerate+destroy не должно очищать данные сеанса в памяти, а только удалять данные сеанса из постоянного хранилища.

Внимание: при перегенерации идентификатора сеанса блокировка не используется в проектировании сеансов PHP. Смотрите https://bugs.php.net/bug.php?id=61470 для обсуждения. Поэтому необходимо убедиться, что перегенерированный сеанс сохранен ДО отправки заголовков с новым идентификатором. Symfony HttpKernel предлагает слушатель для этого. См. Symfony\Component\HttpKernel\EventListener\SaveSessionListener. В противном случае данные сеанса могут снова потеряться для одновременных запросов с новым идентификатором. В результате вы можете выйти из системы, только что войдя в неё.

Параметры

bool $destroy Уничтожить сеанс при перегенерации?
int $lifetime Устанавливает срок действия куки для куки сеанса. Значение null оставит системные настройки без изменений, 0 установит куки на истечение вместе с сеансом браузера. Время в секундах, и не является меткой времени Unix.

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

bool True, если сеанс перегенерирован, false в случае ошибки.

Исключения

RuntimeException Если при перегенерации этого хранилища произошла ошибка.

save()

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

Этот метод должен вызывать sessionwriteclose(), если этот интерфейс используется для объекта хранилища, предназначенного для тестирования в среде unit или функционального тестирования, где реальный 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 или используйте обработчики из пакета drak/native-session в composer.

Параметры

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.0/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.html

Spec-Zone.ru

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