baraja-core / session
Simple performance package for storage your sessions to database by native PDO.
Installs: 2 417
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 4
Requires
- php: ^8.1
- ext-pdo: *
Requires (Dev)
- baraja-core/doctrine: ^3.0
- nette/di: ^3.0
- nette/http: ^3.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.0
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-nette: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- roave/security-advisories: dev-master
- spaze/phpstan-disallowed-calls: ^2.0
- tracy/tracy: ^2.9
This package is auto-updated.
Last update: 2024-12-08 18:05:34 UTC
README
Simple performance package for storage your sessions to database by native \PDO
.
📦 Installation & Basic Usage
It's best to use Composer for installation, and you can also find the package on Packagist and GitHub.
To install, simply use the command:
$ composer require baraja-core/session
You can use the package manually by creating an instance of the internal classes, or register a DIC extension to link the services directly to the Nette Framework.
Install database structure
And create database table core__session_storage
(table name can be configured) or use Doctrine for automatic generating.
MySql table schema:
SET NAMES utf8; SET time_zone = '+00:00'; SET foreign_key_checks = 0; SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; CREATE TABLE `core__session_storage` ( `id` varchar(26) COLLATE utf8_unicode_ci NOT NULL, `haystack` longtext COLLATE utf8_unicode_ci NOT NULL, `last_update` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Table can be used with Doctrine or alone.
How to use
In case of Nette framework simply use NEON configuration (defined in common.neon
file):
extensions: barajaPdoSession: Baraja\Session\SessionExtension
Session storage will be configured automatically.
In case of native PHP simply create new SessionStorage
instance and create handler:
$handler = new \Baraja\Session\SessionStorage( '127.0.0.1', // host 'my_application', // database name 'root', // user '****' // password ); session_set_save_handler($handler);
Warning: Session handler must be set before session has been started!
Define custom table name
In case of custom table name you can rewrite default table name by 2 ways:
- Constructor
$table
argument - Setter
setTable()
Default table name is core__session_storage
.
Table name can be rewritten in runtime, but it's not recommended.
📄 License
baraja-core/session
is licensed under the MIT license. See the LICENSE file for more details.