DatabaseHandler
extends BaseHandler
in package
Session handler using current Database for storage
Table of Contents
- $cookieDomain : string
- Cookie domain
- $cookieName : string
- Cookie name to use
- $cookiePath : string
- Cookie path
- $cookiePrefix : string
- Cookie prefix
- $cookieSecure : bool
- Cookie secure?
- $db : BaseConnection
- The DB Connection instance.
- $DBGroup : string
- The database group to use for storage.
- $fingerprint : string
- The Data fingerprint.
- $ipAddress : string
- User's IP address.
- $lock : mixed
- Lock placeholder.
- $logger : LoggerInterface|null
- The logger instance.
- $matchIP : bool
- Match IP addresses for cookies?
- $platform : string
- The database type, for locking purposes.
- $rowExists : bool
- Row exists flag
- $savePath : string|array<string|int, mixed>
- The 'save path' for the session varies between
- $sessionID : string
- Current session ID
- $table : string
- The name of the table to store session info.
- __construct() : mixed
- Constructor
- close() : bool
- Close
- destroy() : bool
- Destroy
- gc() : bool
- Garbage Collector
- open() : bool
- Open
- read() : string
- Read
- setLogger() : mixed
- Sets a logger.
- write() : bool
- Write
- destroyCookie() : bool
- Internal method to force removal of a cookie by the client when session_destroy() is called.
- fail() : bool
- Fail
- lockSession() : bool
- Lock the session.
- releaseLock() : bool
- Releases the lock, if any.
Properties
$cookieDomain
Cookie domain
protected
string
$cookieDomain
= ''
$cookieName
Cookie name to use
protected
string
$cookieName
$cookiePath
Cookie path
protected
string
$cookiePath
= '/'
$cookiePrefix
Cookie prefix
protected
string
$cookiePrefix
= ''
$cookieSecure
Cookie secure?
protected
bool
$cookieSecure
= false
$db
The DB Connection instance.
protected
BaseConnection
$db
$DBGroup
The database group to use for storage.
protected
string
$DBGroup
$fingerprint
The Data fingerprint.
protected
string
$fingerprint
$ipAddress
User's IP address.
protected
string
$ipAddress
$lock
Lock placeholder.
protected
mixed
$lock
= false
$logger
The logger instance.
protected
LoggerInterface|null
$logger
$matchIP
Match IP addresses for cookies?
protected
bool
$matchIP
= false
$platform
The database type, for locking purposes.
protected
string
$platform
$rowExists
Row exists flag
protected
bool
$rowExists
= false
$savePath
The 'save path' for the session varies between
protected
string|array<string|int, mixed>
$savePath
$sessionID
Current session ID
protected
string
$sessionID
$table
The name of the table to store session info.
protected
string
$table
Methods
__construct()
Constructor
public
__construct(App $config, string $ipAddress) : mixed
Parameters
- $config : App
- $ipAddress : string
Return values
mixed —close()
Close
public
close() : bool
Releases locks and closes file descriptor.
Return values
bool —destroy()
Destroy
public
destroy(string $sessionID) : bool
Destroys the current session.
Parameters
- $sessionID : string
Return values
bool —gc()
Garbage Collector
public
gc(int $maxlifetime) : bool
Deletes expired sessions
Parameters
- $maxlifetime : int
-
Maximum lifetime of sessions
Return values
bool —open()
Open
public
open(string $savePath, string $name) : bool
Ensures we have an initialized database connection.
Parameters
- $savePath : string
-
Path to session files' directory
- $name : string
-
Session cookie name
Tags
Return values
bool —read()
Read
public
read(string $sessionID) : string
Reads session data and acquires a lock
Parameters
- $sessionID : string
-
Session ID
Return values
string —Serialized session data
setLogger()
Sets a logger.
public
setLogger(LoggerInterface $logger) : mixed
Parameters
- $logger : LoggerInterface
Return values
mixed —write()
Write
public
write(string $sessionID, string $sessionData) : bool
Writes (create / update) session data
Parameters
- $sessionID : string
-
Session ID
- $sessionData : string
-
Serialized session data
Return values
bool —destroyCookie()
Internal method to force removal of a cookie by the client when session_destroy() is called.
protected
destroyCookie() : bool
Return values
bool —fail()
Fail
protected
fail() : bool
Drivers other than the 'files' one don't (need to) use the session.save_path INI setting, but that leads to confusing error messages emitted by PHP when open() or write() fail, as the message contains session.save_path ... To work around the problem, the drivers will call this method so that the INI is set just in time for the error message to be properly generated.
Return values
bool —lockSession()
Lock the session.
protected
lockSession(string $sessionID) : bool
Parameters
- $sessionID : string
Return values
bool —releaseLock()
Releases the lock, if any.
protected
releaseLock() : bool