Spec-Zone.ru › Symfony 2.8

MongoDbSessionHandler

class MongoDbSessionHandler implements SessionHandlerInterface

Методы

__construct(Mongo|MongoClient|Client $mongo, array $options)

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

open($savePath, $sessionName)

{@inheritdoc}

close()

{@inheritdoc}

destroy($sessionId)

{@inheritdoc}

gc($maxlifetime)

{@inheritdoc}

write($sessionId, $data)

{@inheritdoc}

read($sessionId)

{@inheritdoc}

Подробности

__construct(Mongo|MongoClient|Client $mongo, array $options)

Список доступных опций: * database: Имя базы данных [обязательно] * collection: Имя коллекции [обязательно] * idfield: Имя поля для хранения идентификатора сессии [по умолчанию: _id] * datafield: Имя поля для хранения данных сессии [по умолчанию: data] * timefield: Имя поля для хранения отметки времени [по умолчанию: time] * expiryfield: Имя поля для хранения отметки времени истечения срока действия [по умолчанию: 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, так как сбор мусора не требуется.

Параметры

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

Исключения

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

open($savePath, $sessionName)

{@inheritdoc}

Параметры

$savePath
$sessionName

close()

{@inheritdoc}

destroy($sessionId)

{@inheritdoc}

Параметры

$sessionId

gc($maxlifetime)

{@inheritdoc}

Параметры

$maxlifetime

write($sessionId, $data)

{@inheritdoc}

Параметры

$sessionId
$data

read($sessionId)

{@inheritdoc}

Параметры

$sessionId

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

Spec-Zone.ru

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