baraja-core / session
此包的最新版本(v1.4.0)没有可用的许可信息。
使用原生PDO存储会话到数据库的简单性能包。
v1.4.0
2022-03-22 09:28 UTC
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-09-08 17:35:35 UTC
README
使用原生 \PDO
将会话存储到数据库的简单性能包。
📦 安装与基本用法
建议使用 Composer 进行安装,您也可以在 Packagist 和 GitHub 上找到此包。
安装命令:
$ composer require baraja-core/session
您可以通过创建内部类的实例来手动使用此包,或者注册DIC扩展以将服务直接链接到Nette框架。
安装数据库结构
创建数据库表 core__session_storage
(表名可配置)或使用Doctrine进行自动生成。
MySql表模式
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;
表可用于与Doctrine一起使用或单独使用。
如何使用
在Nette框架中,只需使用NEON配置(在 common.neon
文件中定义)
extensions: barajaPdoSession: Baraja\Session\SessionExtension
会话存储将自动配置。
对于原生PHP,只需创建新的 SessionStorage
实例并创建处理器
$handler = new \Baraja\Session\SessionStorage( '127.0.0.1', // host 'my_application', // database name 'root', // user '****' // password ); session_set_save_handler($handler);
警告:必须在开始会话之前设置会话处理器!
定义自定义表名
对于自定义表名,您可以通过两种方式重写默认表名
- 构造函数
$table
参数 - 设置器
setTable()
默认表名是 core__session_storage
。
表名可以在运行时重写,但不推荐这样做。
📄 许可证
baraja-core/session
使用MIT许可证。有关更多详细信息,请参阅 LICENSE 文件。