Spec-Zone.ru › Symfony 3.0

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

Spec-Zone.ru

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