DatabaseSessionBackend implements SessionBackendInterface, HashableSessionBackendInterface
Class DatabaseSessionBackend
This session backend requires the 'table' configuration option. If the backend is used to holds non-authenticated
sessions (default in frontend application), the 'ses_userid' configuration option must be set to 0
.
Table of Contents
Interfaces
- SessionBackendInterface
- Interface SessionBackendInterface
- HashableSessionBackendInterface
Properties
- $configuration : array<string|int, mixed>
- $hasAnonymousSessions : bool
Methods
- collectGarbage() : mixed
- Garbage Collection
- get() : array<string|int, mixed>
- Read session data
- getAll() : array<string|int, mixed>
- List all sessions
- hash() : string
- initialize() : mixed
- Initializes the session backend
- remove() : bool
- Delete a session record
- set() : array<string|int, mixed>
- Write session data. This method prevents overriding existing session data.
- update() : array<string|int, mixed>
- Updates the session data.
- validateConfiguration() : bool
- Checks if the configuration is valid
- getConnection() : Connection
- getQueryBuilder() : QueryBuilder
Properties
$configuration
protected
array<string|int, mixed>
$configuration
= []
$hasAnonymousSessions
protected
bool
$hasAnonymousSessions
= false
Indicates whether the ses_userid is set to 0
in the sessions table
Methods
collectGarbage()
Garbage Collection
public
collectGarbage(int $maximumLifetime[, int $maximumAnonymousLifetime = 0 ]) : mixed
Parameters
- $maximumLifetime : int
-
maximum lifetime of authenticated user sessions, in seconds.
- $maximumAnonymousLifetime : int = 0
-
maximum lifetime of non-authenticated user sessions, in seconds. If set to 0, non-authenticated sessions are ignored.
get()
Read session data
public
get(string $sessionId) : array<string|int, mixed>
Parameters
- $sessionId : string
Tags
Return values
array<string|int, mixed> —Returns the session data
getAll()
List all sessions
public
getAll() : array<string|int, mixed>
Return values
array<string|int, mixed> —Return a list of all user sessions. The list may be empty
hash()
public
hash(string $sessionId) : string
Parameters
- $sessionId : string
Return values
stringinitialize()
Initializes the session backend
public
initialize(string $identifier, array<string|int, mixed> $configuration) : mixed
Parameters
- $identifier : string
-
Name of the session type, e.g. FE or BE
- $configuration : array<string|int, mixed>
To be used only by SessionManager
remove()
Delete a session record
public
remove(string $sessionId) : bool
Parameters
- $sessionId : string
Return values
bool —true if the session was deleted, false it session could not be found
set()
Write session data. This method prevents overriding existing session data.
public
set(string $sessionId, array<string|int, mixed> $sessionData) : array<string|int, mixed>
ses_id will always be set to $sessionId and overwritten if existing in $sessionData This method updates ses_tstamp automatically
Parameters
- $sessionId : string
- $sessionData : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —The newly created session record.
update()
Updates the session data.
public
update(string $sessionId, array<string|int, mixed> $sessionData) : array<string|int, mixed>
ses_id will always be set to $sessionId and overwritten if existing in $sessionData This method updates ses_tstamp automatically
Parameters
- $sessionId : string
- $sessionData : array<string|int, mixed>
-
The session data to update. Data may be partial.
Tags
Return values
array<string|int, mixed> —$sessionData The newly updated session record.
validateConfiguration()
Checks if the configuration is valid
public
validateConfiguration() : bool
To be used only by SessionManager
Tags
Return values
boolgetConnection()
protected
getConnection() : Connection
Return values
ConnectiongetQueryBuilder()
protected
getQueryBuilder() : QueryBuilder