Documentation

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
implements

\SessionHandlerInterface

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
throws
RuntimeException

If configured column does not exist in session table.

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.


        
On this page

Search results