Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2024-12-04 (9 days ago) | | Not enough user ratings | | Total: 58 This week: 2 | | All time: 10,544 This week: 29 |
|
Description | | Author |
This package can store PHP sessions in different types of storage.
It provides several session handler classes that store and retrieve PHP session data in different storage system types with an option to make session variables read-only, to avoid the variable can be changed.
The package provides a function to let developers set the preferred session handler.
Currently, it can store session data in:
- Files
- Redis server
- Memcached server
- MySQL database table
- Cookie on client side
The package also supports accessing session values without changing the values in read-only mode. Innovation Award
October 2024
Winner |
PHP developers often use sessions to store values about the access of each user who is accessing a site.
Session values are usually stored in a persistent container like files or database tables.
PHP stores session values in files by default. However, it also supports registering new session handler classes that can store session values in other types of containers.
This package provides session handlers that can store session values in different types of containers.
It also supports a read-only mode that PHP developers can use in requests that do not require changing the session variables.
When the read-only mode is enabled, session access can be faster because the session handler will not perform the session data write step.
Manuel Lemos |
| |
|
|
Innovation award
Nominee: 5x
Winner: 4x |
|
Details
Session Handlers
Collection of Mostly used Session Handlers
-
Supports File / MySql / Redis / Memcached / Cookie based Session Handlers
-
Supports Readonly mode as well for all the above mentioned Session Handlers
Example
<?php
include __DIR__ . '/CustomSessionHandler/Session.php';
// Turn on output buffering
ob_start();
// Initialise Session Handler
Session::initSessionHandler('File');
// Session::initSessionHandler('MySql');
// Session::initSessionHandler('Redis');
// Session::initSessionHandler('Memcached');
// Session::initSessionHandler('Cookie');
// Start session in readonly mode
// Use when user is already logged in and we need to authorise the client cookie.
Session::start_readonly();
// Auth Check
if (!isset($_SESSION) || !isset($_SESSION['id'])) {
die('Unauthorised');
}
// Start session in normal (read/write) mode.
// Use once client is authorised and want to make changes in $_SESSION
Session::start_rw_mode();
$_SESSION['id'] = rand();
Database Table for MySql
CREATE TABLE IF NOT EXISTS `sessions` (
`sessionId` CHAR(64) NOT NULL,
`lastAccessed` INT UNSIGNED NOT NULL,
`sessionData` MEDIUMBLOB,
PRIMARY KEY (`sessionId`)
) ENGINE=InnoDB;
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.