Middleware to start a php session using the request data and close it after returning the response. Reads and writes session cookies in the PSR-7 request/response.
This package is installable and autoloadable via Composer as middlewares/php-session.
composer require middlewares/php-session
Dispatcher::run([
new Middlewares\PhpSession(),
function () {
//Use the global $_SESSION variable to get/set data
$_SESSION['name'] = 'John';
}
]);
This is a middleware to start the native PHP session using the cookies of the server request.
The session name. If it's not provided, use the php's default name (PHPSESSID). More info session_name
// Start the session with other name
$session = (new Middlewares\PhpSession())->name('user_session');
This option set a session id. If it's not provided, use the request's cookies to get it.
// Start the session with a specific session id
$session = (new Middlewares\PhpSession())->id('foo');
This allows to set an of options passed to session_start()
// Start the session with a specific session id
$session = (new Middlewares\PhpSession())->options([
'cookie_lifetime' => 86400
]);
This option regenerates the id after a specific time interval. The latest regeneration time is saved in the key session-id-expires
but you can change it in the second argument:
// Regenerate the session id after 60 seconds
$session = (new Middlewares\PhpSession())->regenerateId(60);
// Regenerate the session id after 60 seconds, storing the expires date in the key 'expiresAt'
$session = (new Middlewares\PhpSession())->regenerateId(60, 'expiresAt');
Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.
The MIT License (MIT). Please see LICENSE for more information.