Spec-Zone.ru › Symfony 4.1

MongoDbSessionHandler

class MongoDbSessionHandler extends AbstractSessionHandler

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

Методы

open($savePath, $sessionName)

{@inheritdoc}

из AbstractSessionHandler
string doRead(string $sessionId)
bool doWrite(string $sessionId, string $data)
bool doDestroy(string $sessionId)
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}

Client getMongo()

Детали

open($savePath, $sessionName)

{@inheritdoc}

Параметры

$savePath
$sessionName

protected string doRead(string $sessionId)

Параметры

string $sessionId

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

string

protected bool doWrite(string $sessionId, string $data)

Параметры

string $sessionId
string $data

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

bool

protected bool doDestroy(string $sessionId)

Параметры

string $sessionId

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

bool

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 (Time-To-Live) могут использоваться в 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 При отсутствии "database" или "collection"

close()

{@inheritdoc}

gc($maxlifetime)

{@inheritdoc}

Параметры

$maxlifetime

updateTimestamp($sessionId, $data)

{@inheritdoc}

Параметры

$sessionId
$data

protected Client getMongo()

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

Client

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

Spec-Zone.ru

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