Spec-Zone.ru › Symfony 3.0

NativeSessionStorage

class NativeSessionStorage implements SessionStorageInterface

Это базовый класс для хранения атрибутов сессии.

Методы

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

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

AbstractProxy getSaveHandler()

Возвращает экземпляр обработчика сохранения.

bool start()

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

string getId()

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

setId(string $id)

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

mixed getName()

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

setName(string $name)

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

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

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

save()

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

clear()

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

registerBag(SessionBagInterface $bag)

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

SessionBagInterface getBag(string $name)

Возвращает SessionBagInterface по имени.

setMetadataBag(MetadataBag $metaBag = null)

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

MetadataBag getMetadataBag()

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

bool isStarted()

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

setOptions(array $options)

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

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

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

Детали

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

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

В зависимости от того, как вы хотите, чтобы работал драйвер хранения, вам, вероятно, потребуется полностью переопределить этот конструктор.

Список параметров для массива $options со значениями по умолчанию.

Параметры

массив $options Параметры конфигурации сессии.
AbstractProxy|NativeSessionHandler|SessionHandlerInterface|null $handler
MetadataBag $metaBag MetadataBag.

См. также

http://php.net/session.configuration для параметров, но мы опускаем «session.» с начала ключей для удобства. («auto_start» не поддерживается, так как он сообщает PHP о начале сессии перед тем, как PHP начнёт выполнять код пользовательского пространства. Установка во время выполнения не имеет эффекта). cache_limiter, "" (используйте "0", чтобы предотвратить отправку заголовков). cookie_domain, "" cookie_httponly, "" cookie_lifetime, "0" cookie_path, "/" cookie_secure, "" entropy_file, "" entropy_length, "0" gc_divisor, "100" gc_maxlifetime, "1440" gc_probability, "1" hash_bits_per_character, "4" hash_function, "0" name, "PHPSESSID" referer_check, "" serialize_handler, "php" use_cookies, "1" use_only_cookies, "1" use_trans_sid, "0" upload_progress.enabled, "1" upload_progress.cleanup, "1" upload_progress.prefix, "upload_progress_" upload_progress.name, "PHP_SESSION_UPLOAD_PROGRESS" upload_progress.freq, "1%" upload_progress.min-freq, "1" url_rewriter.tags, "a=href,area=href,frame=src,form=,fieldset="

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

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

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

Параметры

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 True, если запущена, иначе false.

setOptions(array $options)

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

Для удобства мы опускаем «session.» с начала ключей. Явно игнорирует другие ключи ini.

Параметры

массив $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/NativeSessionStorage.html

Spec-Zone.ru

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