Spec-Zone.ru › Symfony 2.7

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)

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

из 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 Истина, если сессия запущена

Исключения

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 для обсуждения. Поэтому необходимо убедиться, что сгенерированная сессия сохранена ДО отправки заголовков с новым ID. Symfony's HttpKernel предлагает слушатель для этого. См. Symfony\Component\HttpKernel\EventListener\SaveSessionListener. В противном случае данные сессии могут быть снова утеряны для параллельных запросов с новым ID. Одним из результатов может быть выход из системы после только что выполненного входа в систему.

Параметры

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 Истина, если запущена, иначе ложь

setOptions(array $options)

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

Для удобства мы опускаем «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/2.7/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.html

Spec-Zone.ru

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