Spec-Zone.ru › Symfony 3.1

MockArraySessionStorage

class MockArraySessionStorage implements SessionStorageInterface

MockArraySessionStorage имитирует сессию для тестирования.

PHP сессия на самом деле не запускается, так как сессия может быть инициализирована и закрыта только один раз за цикл выполнения PHP.

При функциональном тестировании следует использовать MockFileSessionStorage вместо этого.

Методы

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

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

setSessionData(array $array)

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

bool start()

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

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

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

string getId()

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

setId(string $id)

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

mixed getName()

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

setName(string $name)

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

save()

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

clear()

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

registerBag(SessionBagInterface $bag)

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

SessionBagInterface getBag(string $name)

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

bool isStarted()

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

setMetadataBag(MetadataBag $bag = null)

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

MetadataBag getMetadataBag()

Получает MetadataBag.

Подробности

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

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

Параметры

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

string getId()

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

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

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

setId(string $id)

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

Параметры

string $id

mixed getName()

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

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

mixed Имя сессии

setName(string $name)

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

Параметры

string $name

save()

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

Этот метод должен вызывать sessionwriteclose(), если этот интерфейс используется для объекта хранилища, предназначенного для тестирования (единичного или функционального), где реальная 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.1/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.html

Spec-Zone.ru

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