PHP Class yii\mongodb\Session
By default, Session stores session data in a collection named 'session' inside the default database.
This collection is better to be pre-created with fields 'id' and 'expire' indexed.
The collection name can be changed by setting [[sessionCollection]].
The following example shows how you can configure the application to use Session:
Add the following to your application config under
components:
php
'session' => [
'class' => 'yii\mongodb\Session',
'db' => 'mymongodb',
'sessionCollection' => 'my_session',
]
Session extends [[MultiFieldSession]], thus it allows saving extra fields into the [[sessionCollection]].
Refer to [[MultiFieldSession]] for more details.
Tip: you can use MongoDB
TTL index for the session garbage
collection for performance saving, in this case you should set [[Session::gCProbability]] to
0.
Show file
Open project: yiisoft/yii2-mongodb
Class Usage Examples
Public Properties
Property |
Type |
Description |
|
$db |
|
the MongoDB connection object or the application component ID of the MongoDB connection.
After the Session object is created, if you want to change this property, you should only assign it
with a MongoDB connection object.
Starting from version 2.0.2, this can also be a configuration array for creating the object. |
|
$sessionCollection |
|
the name of the MongoDB collection that stores the session data.
Please refer to [[Connection::getCollection()]] on how to specify this parameter.
This collection is better to be pre-created with fields 'id' and 'expire' indexed. |
|
Public Methods
Method Details
destroySession()
public method
Do not call this method directly.
gcSession()
public method
Do not call this method directly.
public gcSession ( integer $maxLifetime ) : boolean |
$maxLifetime |
integer |
the number of seconds after which data will be seen as 'garbage' and cleaned up. |
return |
boolean |
whether session is GCed successfully |
This method will initialize the [[db]] property to make sure it refers to a valid MongoDB connection.
readSession()
public method
Do not call this method directly.
regenerateID()
public method
Please refer to for more details.
public regenerateID ( boolean $deleteOldSession = false ) |
$deleteOldSession |
boolean |
Whether to delete the old associated session file or not. |
writeSession()
public method
Do not call this method directly.
Property Details
the MongoDB connection object or the application component ID of the MongoDB connection.
After the Session object is created, if you want to change this property, you should only assign it
with a MongoDB connection object.
Starting from version 2.0.2, this can also be a configuration array for creating the object.
$sessionCollection public property
the name of the MongoDB collection that stores the session data.
Please refer to [[Connection::getCollection()]] on how to specify this parameter.
This collection is better to be pre-created with fields 'id' and 'expire' indexed.
public $sessionCollection |