delfimov / session
Easy to use library for managing PHP built-in sessions
v1.0.2
2018-02-20 11:05 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpdocumentor/phpdocumentor: 2.*
- phpunit/dbunit: ^4.0
- phpunit/phpunit: 7.*
- psr/container: ^1
- satooshi/php-coveralls: ^1.0
- scrutinizer/ocular: ~1.3
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-12-14 23:14:36 UTC
README
Session
PSR-11 compatible easy to use library for managing PHP built-in sessions. PDO handler included.
Requirements
How to install
Add this line to your composer.json file:
"delfimov/session": "~1.0"
or
composer require delfimov/session
How to configure
The session management system supports a number of configuration options which you can place in your php.ini file or redefine in your code.
The most important settings with recommended values:
session.name = PHPSESSID session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 2592000 ; lifetime of sessions = 60*60*24*30 = 30 days session.use_cookies = 1 session.use_only_cookies = 1 session.cookie_lifetime = 2592000 ; same as session lifetime
I highly recommend to use https protocol and marks the cookie as accessible only through the HTTP protocol.
session.cookie_secure = 1 session.cookie_httponly = 1
See PHP Sessions Runtime Configuration for more details.
An example
See example
directory for sources.
require_once __DIR__ . '/../vendor/autoload.php'; $session = new DElfimov\Session\Session( new DElfimov\Session\Handlers\PDOHandler( new \PDO('mysql:dbname=testdb;host=127.0.0.1', 'dbuser', 'dbpass') ) ); $session->set('a', 'value a'); try { echo $session->get('a'); } catch (\Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; } if ($session->has('b')) { echo 'Wonder!'; } $session->remove('a');
TODO
- Better code coverage
- Handlers