qanna/session-bag
最新稳定版本:v1.0.1
Composer 安装命令:
composer require qanna/session-bag
包简介
A lightweight and flexible package designed to simplify session management in PHP. It offers a convenient api for storing, retrieving and managing session data with a built-in feature for flashing messages.
关键字:
README 文档
README
SessionBag is a lightweight and convenient package for interacting with PHP sessions. With an easy-to-use API, you can start, check, store, retrieve, and flash data from the session effortlessly.
SessionBag makes session management as simple as reaching into a bag and pulling out exactly what you need, whether it's persistent data or temporary flash messages.
Note: Session bag uses dot notation for hierarchical session data access.
How-To
Initialize the session
$session = new Session();
Start the session
$session->start();
Check if a value exists
$session->has("errors");
Push a value into the session
$session->push("email", "example@domain.com");
Retrieve a value
- Return null (or a specified value) as default if the value doesn't exist.
$default = null; $session->get("errors", $default);
Flashing a message to a session
$session->flash('status', 'Your profile has been updated.');
Retrieving and Removing a Flash Message
- This will remove the message from the session after retrieving it.
$session->getFlash('status');
Prevent flash data from being removed
- Keep flash data alive for the next request
// Prevent all the flash data from being removed $session->reflash(); // Prevent specific flash message(s) from being removed $session->reflash(['email', 'username']);
Reflash example
$data = [ 'username' => 'example', 'email' => 'example@domain.com', ]; // Flash the data into the session $session->flash('username', $data['username']); $session->flash('email', $data['email']); // Reflash only the 'email' key, keeping it for the next request $session->reflash(['email']); // Now, let's retrieve the flashed data: echo $session->getFlash('username'); // Outputs: example echo $session->getFlash('email'); // Outputs: example@domain.com // At this point, only 'email' remains in the flash data, // 'username' is no longer available for future requests.
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-10-01