tnapf / mysqlsessions
此包已被废弃,不再维护。未建议替代包。
用于在MySQL数据库中存储会话的sessioninterface实现
v0.1.0
2023-02-13 01:16 UTC
Requires
- commandstring/utils: ^1.4
- tnapf/sessioninterfaces: ^1.1.0
README
使用MySQL数据库作为会话存储的sessioninterface实现
安装
composer require tnapf/mysqlsessions
使用
设置表格
首先,使用以下SQL代码创建您的会话表
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; CREATE TABLE `sessions` ( `id` varchar(16) NOT NULL, `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`data`)), `expires` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ALTER TABLE `sessions` ADD PRIMARY KEY (`id`); COMMIT;
创建Session控制器
接下来创建一个PDO连接(将使用tnapf/pdo
构建驱动程序)
use Tnapf\Pdo\Driver; use Tnapf\MysqlSessions\Controller; $driver = Driver::createMySqlDriver("root", "password", "database")->connect(); /** @var PDO $driver */ $driver = $driver->driver; $sessions = new Controller($driver);
创建驱动程序后,使用PDO对象作为第一个参数构建Tnapf\MysqlSessions\Controller
。
创建会话
$session = $session->create(); // you can supply a timestamp in seconds for when the cookie should expire; default is 7 days header($session->setCookieHeader()); // sends a set-cookie header with the session id
设置会话变量
$session->var = "foo"; // or $session->set("var", "foo");
取消设置会话变量
unset($session->var); // or $session->unset("var");
删除会话
$sessions->delete($session); // or $sessions->delete($session->id);