\Symfony\Component\HttpFoundation\Session\Storage\HandlerMongoDbSessionHandler

Summary

Methods
Properties
Constants
__construct()
open()
close()
destroy()
gc()
write()
read()
No public properties found
No constants found
getMongo()
No protected properties found
N/A
getCollection()
createDateTime()
$mongo
$collection
$options
N/A

Properties

$mongo

$mongo : 

Type

$collection

$collection : \MongoCollection

Type

\MongoCollection

$options

$options : array

Type

array

Methods

__construct()

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

List of available options: * database: The name of the database [required] * collection: The name of the collection [required] * id_field: The field name for storing the session id [default: _id] * data_field: The field name for storing the session data [default: data] * time_field: The field name for storing the timestamp [default: time] * expiry_field: The field name for storing the expiry-timestamp [default: expires_at]

It is strongly recommended to put an index on the expiry_field for garbage-collection. Alternatively it's possible to automatically expire the sessions in the database as described below:

A TTL collections can be used on MongoDB 2.2+ to cleanup expired sessions automatically. Such an index can for example look like this:

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

More details on: http://docs.mongodb.org/manual/tutorial/expire-data/

If you use such an index, you can drop gc_probability to 0 since no garbage-collection is required.

Parameters

\Mongo|\MongoClient|\MongoDB\Client $mongo

A MongoDB\Client, MongoClient or Mongo instance

array $options

An associative array of field options

Throws

\InvalidArgumentException

When MongoClient or Mongo instance not provided

\InvalidArgumentException

When "database" or "collection" not provided

open()

open(  $savePath,   $sessionName) 

{@inheritdoc}

Parameters

$savePath
$sessionName

close()

close() 

{@inheritdoc}

destroy()

destroy(  $sessionId) 

{@inheritdoc}

Parameters

$sessionId

gc()

gc(  $maxlifetime) 

{@inheritdoc}

Parameters

$maxlifetime

write()

write(  $sessionId,   $data) 

{@inheritdoc}

Parameters

$sessionId
$data

read()

read(  $sessionId) 

{@inheritdoc}

Parameters

$sessionId

getMongo()

getMongo() : \Mongo|\MongoClient|\MongoDB\Client

Return a Mongo instance.

Returns

\Mongo|\MongoClient|\MongoDB\Client

getCollection()

getCollection() : \MongoCollection

Return a "MongoCollection" instance.

Returns

\MongoCollection

createDateTime()

createDateTime(integer  $seconds = null) : \MongoDate|\MongoDB\BSON\UTCDateTime

Create a date object using the class appropriate for the current mongo connection.

Return an instance of a MongoDate or \MongoDB\BSON\UTCDateTime

Parameters

integer $seconds

An integer representing UTC seconds since Jan 1 1970. Defaults to now.

Returns

\MongoDate|\MongoDB\BSON\UTCDateTime