Spec-Zone.ru › Symfony 3.0

MockFileSessionStorage

class MockFileSessionStorage extends MockArraySessionStorage

MockFileSessionStorage используется для имитации сессий при функциональном тестировании в одном процессе PHP.

PHP сессия фактически не запускается, так как сессия может быть инициализирована и закрыта только один раз за цикл выполнения PHP, и этот класс не загрязняет глобальные переменные, связанные с сессиями, включая функции session_*() или директивы PHP ini session.*.

Методы

__construct(string $savePath = null, string $name = 'MOCKSESSID', MetadataBag $metaBag = null)

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

setSessionData(array $array)

Устанавливает данные сессии.

из MockArraySessionStorage
bool start()

Запускает сессию.

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

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

string getId()

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

из MockArraySessionStorage
setId(string $id)

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

из MockArraySessionStorage
mixed getName()

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

из MockArraySessionStorage
setName(string $name)

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

из MockArraySessionStorage
save()

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

clear()

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

из MockArraySessionStorage
registerBag(SessionBagInterface $bag)

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

из MockArraySessionStorage
SessionBagInterface getBag(string $name)

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

из MockArraySessionStorage
bool isStarted()

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

из MockArraySessionStorage
setMetadataBag(MetadataBag $bag = null)

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

из MockArraySessionStorage
MetadataBag getMetadataBag()

Получает MetadataBag.

из MockArraySessionStorage

Подробности

__construct(string $savePath = null, string $name = 'MOCKSESSID', MetadataBag $metaBag = null)

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

Параметры

string $savePath Путь к каталогу для сохранения файлов сессии.
string $name Имя сессии
MetadataBag $metaBag Экземпляр MetadataBag.

setSessionData(array $array)

Устанавливает данные сессии.

Параметры

array $array

bool start()

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

Значение возврата

bool True, если сессия инициирована.

Исключения

RuntimeException Если возникла ошибка при инициализации сессии.

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

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

Этот метод должен вызывать sessionregenerateid($destroy), если интерфейс используется для объекта хранения, предназначенного для тестирования в среде unit или функционального тестирования, где реальная сессия PHP может конфликтовать с тестированием.

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

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

Параметры

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

Значение возврата

bool True, если сессия пересоздана, false в случае ошибки

Исключения

RuntimeException Если при перегенерации возникла ошибка

string getId()

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

Значение возврата

string Идентификатор сессии или пустая строка.

setId(string $id)

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

Параметры

string $id

mixed getName()

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

Значение возврата

mixed Имя сессии.

setName(string $name)

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

Параметры

string $name

save()

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

Этот метод должен вызывать sessionwriteclose(), если интерфейс используется для объекта хранения, предназначенного для тестирования в среде unit или функционального тестирования, где реальная сессия PHP может конфликтовать с тестированием, в противном случае он должен фактически сохранять данные сессии, если это необходимо.

Исключения

RuntimeException Если сессия сохраняется без инициализации или если сессия уже закрыта.

clear()

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

registerBag(SessionBagInterface $bag)

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

Параметры

SessionBagInterface $bag

SessionBagInterface getBag(string $name)

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

Параметры

string $name

Значение возврата

SessionBagInterface

Исключения

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

bool isStarted()

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

Значение возврата

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

setMetadataBag(MetadataBag $bag = null)

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

Параметры

MetadataBag $bag

MetadataBag getMetadataBag()

Возвращает MetadataBag.

Значение возврата

MetadataBag

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

Spec-Zone.ru

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