tina4stack/tina4php-session

Multi-backend session handler for Tina4 PHP — supports any Tina4 database, Redis, and Memcached

Maintainers

Package info

github.com/tina4stack/tina4php-session

pkg:composer/tina4stack/tina4php-session

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v2.0.1 2026-03-14 18:23 UTC

This package is auto-updated.

Last update: 2026-03-14 19:32:59 UTC


README

Multi-backend session handler for the Tina4 PHP framework. Implements PHP's SessionHandlerInterface with pluggable backends — use any Tina4 database driver, Redis, or Memcached.

Tests

Installing

composer require tina4stack/tina4php-session

Requirements

  • PHP >= 8.1
  • A Tina4 database driver (for database backend), OR
  • ext-redis (for Redis backend), OR
  • ext-memcached (for Memcached backend)

Usage

Database Backend (any Tina4 database)

Works with SQLite3, MySQL, PostgreSQL, Firebird, MSSQL, ODBC, PDO, or MongoDB.

global $DBA;
$DBA = new \Tina4\DataSQLite3("myapp.db");

$config = new \Tina4\SessionConfig();
$config->database = $DBA;
\Tina4\SessionHandler::start($config);

// Use $_SESSION as normal
$_SESSION['user'] = 'Andre';
$_SESSION['cart'] = ['item1', 'item2'];

The sessions table is auto-created on first use.

Redis Backend

$config = new \Tina4\SessionConfig();
$config->sessionType = 'redis';
$config->redisConfig = ['host' => '127.0.0.1', 'port' => 6379];
// Optional: $config->redisConfig['auth'] = 'password';
\Tina4\SessionHandler::start($config);

$_SESSION['user'] = 'Andre';

Memcached Backend

$config = new \Tina4\SessionConfig();
$config->sessionType = 'memcached';
$config->memcachedConfig = ['host' => '127.0.0.1', 'port' => 11211];
\Tina4\SessionHandler::start($config);

$_SESSION['user'] = 'Andre';

Configuration Options

Property Default Description
sessionType 'database' Backend: database, redis, or memcached
database null Any Tina4 DataBase driver instance
tableName 'tina4_sessions' Table name for database backend
lifetime 1440 Session lifetime in seconds (24 min)
redisConfig null ['host', 'port', 'auth'] for Redis
memcachedConfig null ['host', 'port'] for Memcached

Running Tests

composer test

Our Sponsors

Sponsored with 🩵 by Code Infinity

Code Infinity

Supporting open source communities Innovate Code Empower