FilesHandler
extends SaveHandler
in package
Class FilesHandler.
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.
- $stream : resource|null
- __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.
- gcSubdir() : int
- getFilename() : string
- Get the filename, using the optional match IP and match User-Agent configs.
- 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 FilesHandler.
- readData() : string
- 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
$stream
protected
resource|null
$stream
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
close() : bool
Return values
bool —Returns TRUE on success, FALSE on failure
destroy()
Destroy a session.
public
destroy(mixed $id) : bool
Parameters
- $id : mixed
-
The session ID being destroyed
Return values
bool —Returns TRUE on success, FALSE on failure
gc()
Cleanup old sessions.
public
gc(mixed $max_lifetime) : false|int
Parameters
- $max_lifetime : mixed
-
Sessions that have not updated for the last $maxLifetime seconds will be removed
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
open(mixed $path, mixed $name) : bool
Parameters
- $path : mixed
-
The path where to store/retrieve the session
- $name : mixed
-
The session name
Return values
bool —Returns TRUE on success, FALSE on failure
read()
Read session data.
public
read(mixed $id) : string
Parameters
- $id : mixed
-
The session id to read data for
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
updateTimestamp(mixed $id, mixed $data) : bool
Parameters
- $id : mixed
-
The session id
- $data : mixed
-
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
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
write(mixed $id, mixed $data) : bool
Parameters
- $id : mixed
-
The session id
- $data : mixed
-
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
Return values
bool —Returns TRUE on success, FALSE on failure
gcSubdir()
protected
gcSubdir(string $directory, int $maxMtime) : int
Parameters
- $directory : string
- $maxMtime : int
Return values
int —getFilename()
Get the filename, using the optional match IP and match User-Agent configs.
protected
getFilename(string $id) : string
Parameters
- $id : string
-
The session id
Return values
string —The final filename
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
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 FilesHandler.
protected
prepareConfig(array<string, mixed> $config) : void
Parameters
- $config : array<string, mixed>
-
Custom configs
The custom configs are:
$configs = [ // The directory path where the session files will be saved 'directory' => '', // A custom directory name inside the `directory` path 'prefix' => '', // Match IP? 'match_ip' => false, // Match User-Agent? 'match_ua' => false, ];
Return values
void —readData()
protected
readData() : string
Return values
string —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
unlock() : bool
Return values
bool —Returns TRUE on success, FALSE on failure