Documentation

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

$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

$matchIP

Match IP addresses for cookies?

protected bool $matchIP = false

$platform

The database type, for locking purposes.

protected string $platform

$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
throws
Exception
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

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
Return values
bool

Search results