Spec-Zone.ru › Symfony 3.4

Обработчик сессий MongoDb

класс MongoDbSessionHandler расширяет AbstractSessionHandler

Обработчик сессий, использующий пакет mongodb/mongodb и расширение драйвера MongoDB.

Методы

open($savePath, $sessionName)

{@inheritdoc}

из AbstractSessionHandler
validateId($sessionId)

{@inheritdoc}

из AbstractSessionHandler
read($sessionId)

{@inheritdoc}

из AbstractSessionHandler
write($sessionId, $data)

{@inheritdoc}

из AbstractSessionHandler
destroy($sessionId)

{@inheritdoc}

из AbstractSessionHandler
__construct(Client $mongo, array $options)

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

close()

{@inheritdoc}

gc($maxlifetime)

{@inheritdoc}

updateTimestamp($sessionId, $data)

{@inheritdoc}

Подробности

open($savePath, $sessionName)

{@inheritdoc}

Параметры

$savePath
$sessionName

validateId($sessionId)

{@inheritdoc}

Параметры

$sessionId

read($sessionId)

{@inheritdoc}

Параметры

$sessionId

write($sessionId, $data)

{@inheritdoc}

Параметры

$sessionId
$data

destroy($sessionId)

{@inheritdoc}

Параметры

$sessionId

__construct(Client $mongo, array $options)

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

Список доступных опций: * database: Имя базы данных [обязательно] * collection: Имя коллекции [обязательно] * id_field: Имя поля для хранения идентификатора сессии [по умолчанию: _id] * data_field: Имя поля для хранения данных сессии [по умолчанию: data] * time_field: Имя поля для хранения метки времени [по умолчанию: time] * expiry_field: Имя поля для хранения метки времени истечения срока действия [по умолчанию: expires_at].

Настоятельно рекомендуется добавить индекс к полю expiry_field для сбора мусора. В качестве альтернативы можно автоматически истекать сессии в базе данных, как описано ниже:

Коллекции с TTL могут использоваться в MongoDB 2.2+ для автоматической очистки истекших сессий. Такой индекс может, например, выглядеть так:

db.<session-collection>.ensureIndex(
    { "<expiry-field>": 1 },
    { "expireAfterSeconds": 0 }
)

Дополнительные сведения: http://docs.mongodb.org/manual/tutorial/expire-data/

Если вы используете такой индекс, вы можете установить gc_probability в 0, так как сбор мусора не требуется.

Параметры

Client $mongo Экземпляр MongoDB\Client
array $options Ассоциативный массив параметров поля

Исключения

InvalidArgumentException При предоставлении неверного экземпляра MongoClient или Mongo
InvalidArgumentException При отсутствии параметров "database" или "collection"

close()

{@inheritdoc}

gc($maxlifetime)

{@inheritdoc}

Параметры

$maxlifetime

updateTimestamp($sessionId, $data)

{@inheritdoc}

Параметры

$sessionId
$data

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

Spec-Zone.ru

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