SaveHandler
in package
implements
SessionHandlerInterface, SessionUpdateTimestampHandlerInterface
Class SaveHandler.
Tags
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 : false|string
- 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
false|string
$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 —close()
Close the session.
public
abstract close() : bool
Tags
Return values
bool —Returns TRUE on success, FALSE on failure
destroy()
Destroy a session.
public
abstract destroy(string $id) : bool
Parameters
- $id : string
-
The session ID being destroyed
Tags
Return values
bool —Returns TRUE on success, FALSE on failure
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
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> —open()
Initialize the session.
public
abstract open(string $path, string $name) : bool
Parameters
- $path : string
-
The path where to store/retrieve the session
- $name : string
-
The session name
Tags
Return values
bool —Returns TRUE on success, FALSE on failure
read()
Read session data.
public
abstract read(string $id) : string
Parameters
- $id : string
-
The session id to read data for
Tags
Return values
string —Returns an encoded string of the read data. If nothing was read, it returns an empty string
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
Return values
bool —Returns TRUE on success, FALSE on failure
validateId()
Validate session id.
public
validateId(string $id) : bool
Parameters
- $id : string
-
The session id
Tags
Return values
bool —Returns TRUE if the id is valid, otherwise FALSE
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
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
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