Aplus Framework Docs

SaveHandler
in package
implements SessionHandlerInterface, SessionUpdateTimestampHandlerInterface

Class SaveHandler.

Tags
see
https://www.php.net/manual/en/class.sessionhandler.php
see
https://gist.github.com/mindplay-dk/623bdd50c1b4c0553cd3
see
https://www.cloudways.com/blog/setup-redis-as-session-handler-php/#sessionlifecycle

Interfaces, Classes, Traits and Enums

SessionHandlerInterface
SessionUpdateTimestampHandlerInterface

Table of Contents

$config  : array<string|int, mixed>
The configurations used by the save handler.
$fingerprint  : string
The current data fingerprint.
$lockId  : string|false
The lock id or false if is not locked.
$logger  : Logger|null
The Logger instance or null if it was not set.
$sessionExists  : bool
Tells if the session exists (if was read).
$sessionId  : string|null
The current session ID.
__construct()  : mixed
SessionSaveHandler constructor.
close()  : bool
Close the session.
destroy()  : bool
Destroy a session.
gc()  : false|int
Cleanup old sessions.
getConfig()  : array<string, mixed>
open()  : bool
Initialize the session.
read()  : string
Read session data.
updateTimestamp()  : bool
Update the timestamp of a session.
validateId()  : bool
Validate session id.
write()  : bool
Write session data.
getIP()  : string
Get the remote IP address.
getKeySuffix()  : string
getMaxlifetime()  : int
Get the maxlifetime (TTL) used by cache handlers or locking.
getUA()  : string
Get the HTTP User-Agent.
hasSameFingerprint()  : bool
Tells if the data has the same current fingerprint.
lock()  : bool
Acquire a lock for a session id.
log()  : void
Log a message if the Logger is set.
prepareConfig()  : void
Prepare configurations to be used by the save handler.
setFingerprint()  : void
Set the data fingerprint.
unlock()  : bool
Unlock the current session lock id.

Properties

$config

The configurations used by the save handler.

protected array<string|int, mixed> $config

$fingerprint

The current data fingerprint.

protected string $fingerprint

$lockId

The lock id or false if is not locked.

protected string|false $lockId = false

$logger

The Logger instance or null if it was not set.

protected Logger|null $logger

$sessionExists

Tells if the session exists (if was read).

protected bool $sessionExists = false

$sessionId

The current session ID.

protected string|null $sessionId

Methods

__construct()

SessionSaveHandler constructor.

public __construct([array<string, mixed> $config = [] ][, Logger|null $logger = null ]) : mixed
Parameters
$config : array<string, mixed> = []
$logger : Logger|null = null
Return values
mixed

gc()

Cleanup old sessions.

public abstract gc(int $max_lifetime) : false|int
Parameters
$max_lifetime : int

Sessions that have not updated for the last $maxLifetime seconds will be removed

Tags
see
https://www.php.net/manual/en/sessionhandlerinterface.gc.php
Return values
false|int

Returns the number of deleted session data for success, false for failure

getConfig()

public getConfig() : array<string, mixed>
Return values
array<string, mixed>

updateTimestamp()

Update the timestamp of a session.

public abstract updateTimestamp(string $id, string $data) : bool
Parameters
$id : string

The session id

$data : string

The encoded session data. This data is the result of the PHP internally encoding the $_SESSION superglobal to a serialized string and passing it as this parameter.

NOTE: Sessions can use an alternative serialization method

Tags
see
https://www.php.net/manual/en/sessionupdatetimestamphandlerinterface.updatetimestamp.php
Return values
bool

Returns TRUE on success, FALSE on failure

write()

Write session data.

public abstract write(string $id, string $data) : bool
Parameters
$id : string

The session id

$data : string

The encoded session data. This data is the result of the PHP internally encoding the $_SESSION superglobal to a serialized string and passing it as this parameter.

NOTE: Sessions can use an alternative serialization method

Tags
see
https://www.php.net/manual/en/sessionhandlerinterface.write.php
Return values
bool

Returns TRUE on success, FALSE on failure

getIP()

Get the remote IP address.

protected getIP() : string
Return values
string

getKeySuffix()

protected getKeySuffix() : string
Return values
string

getMaxlifetime()

Get the maxlifetime (TTL) used by cache handlers or locking.

protected getMaxlifetime() : int

NOTE: It will use the maxlifetime config or the ini value of session.gc_maxlifetime as fallback.

Return values
int

The maximum lifetime of a session in seconds

getUA()

Get the HTTP User-Agent.

protected getUA() : string
Return values
string

hasSameFingerprint()

Tells if the data has the same current fingerprint.

protected hasSameFingerprint(string $data) : bool
Parameters
$data : string

The data to compare

Return values
bool

True if the fingerprints are the same, otherwise false

lock()

Acquire a lock for a session id.

protected abstract lock(string $id) : bool
Parameters
$id : string

The session id

Return values
bool

Returns TRUE on success, FALSE on failure

log()

Log a message if the Logger is set.

protected log(string $message[, LogLevel $level = LogLevel::ERROR ]) : void
Parameters
$message : string

The message to log

$level : LogLevel = LogLevel::ERROR

The log level

Return values
void

prepareConfig()

Prepare configurations to be used by the save handler.

protected prepareConfig(array<string, mixed> $config) : void
Parameters
$config : array<string, mixed>

Custom configs

Tags
codeCoverageIgnore
Return values
void

setFingerprint()

Set the data fingerprint.

protected setFingerprint(string $data) : void
Parameters
$data : string

The data to set the new fingerprint

Return values
void

unlock()

Unlock the current session lock id.

protected abstract unlock() : bool
Return values
bool

Returns TRUE on success, FALSE on failure

Search results