SessionDatabaseDriver
extends CI_Session_database_driver
in package
Extended session database driver.
Extends CodeIgniter's session database driver to support additional columns
in the session table. Configure additional columns via sess_table_additional_columns
in application/config/config.php.
Configuration example:
// In application/config/config.php
$config['sess_table_additional_columns'] = ['user_id', 'username'];
Tags
Table of Contents
Methods
- __construct() : mixed
- Initialize session database driver.
- read() : string
- Read session data and acquire lock.
- updateTimestamp() : bool
- Update session timestamp without modifying data.
- write() : bool
- Write session data (create or update).
- addAdditionalColumnsToTableData() : array<string|int, mixed>
- Add configured additional columns to session table data.
- unserialize() : array<string|int, mixed>|null
- Unserialize session data to array.
Methods
__construct()
Initialize session database driver.
public
__construct(array<string|int, mixed> &$params) : mixed
Parameters
- $params : array<string|int, mixed>
-
Configuration parameters from CI session config.
read()
Read session data and acquire lock.
public
read(string $sessionId) : string
Parameters
- $sessionId : string
-
Session ID.
Return values
string —Serialized session data, or empty string if not found.
updateTimestamp()
Update session timestamp without modifying data.
public
updateTimestamp(string $sessionId, string $sessionData) : bool
Required by PHP 7.0+ SessionHandlerInterface for lazy write support.
Parameters
- $sessionId : string
-
Session ID.
- $sessionData : string
-
Serialized session data (unused).
Return values
bool —True on success, false on failure.
write()
Write session data (create or update).
public
write(string $sessionId, string $sessionData) : bool
Parameters
- $sessionId : string
-
Session ID.
- $sessionData : string
-
Serialized session data.
Return values
bool —True on success, false on failure.
addAdditionalColumnsToTableData()
Add configured additional columns to session table data.
private
addAdditionalColumnsToTableData(array<string|int, mixed> $insertData, string $sessionData) : array<string|int, mixed>
Parameters
- $insertData : array<string|int, mixed>
-
Base session data for INSERT/UPDATE.
- $sessionData : string
-
Serialized session data to extract values from.
Tags
Return values
array<string|int, mixed> —Session data with additional column values added.
unserialize()
Unserialize session data to array.
private
unserialize(string $data) : array<string|int, mixed>|null
Parameters
- $data : string
-
Serialized session data.
Return values
array<string|int, mixed>|null —Unserialized data array, or null if empty.