folded / session
为您的Web应用提供会话操作工具。
v0.2.2
2020-10-03 11:15 UTC
Requires
- php: >=7.4.0
- folded/exception: 0.4.*
Requires (Dev)
- friendsofphp/php-cs-fixer: 2.*
- pestphp/pest: 0.3.*
- phpunit/phpunit: 9.*
README
为您的Web应用提供会话操作工具。
摘要
关于
我创建了这个库,以便能够独立地操作会话,例如设置和获取数据、检查数据是否存在等。
Folded是一个由包组成的星座,可以帮助您轻松设置Web应用,使用即插即用的包。
- folded/action:一种组织您的Web应用控制器的方式。
- folded/config:您的PHP Web应用的配置工具。
- folded/crypt:为您的Web应用加密和解密字符串。
- folded/exception:为您的Web应用抛出各种异常。
- folded/history:为您的Web应用操作浏览器历史记录。
- folded/http:为您的Web应用提供HTTP工具。
- folded/orm:为您的Web应用提供一个ORM。
- folded/request:包括请求验证器的请求工具,用于您的PHP Web应用。
- folded/routing:为您的PHP Web应用提供路由函数。
- folded/view:为您的PHP Web应用提供视图工具。
功能
- 通过键设置和获取值
- 可以闪存值(这意味着它们只能获取一次)
- 可以按键删除值
- 可以检查通过其键的值是否存在
- 使用纯
$_SESSION超级全局变量
要求
- PHP版本 >= 7.4.0
- 已安装Composer
安装
1. 安装包
在您的根目录中,运行此命令
composer require folded/session
2. 添加设置代码
在您想要使用的脚本中,调用会话启动函数
if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); } // ...
示例
1. 设置一个值
在这个例子中,我们将设置会话中的值。
use function Folded\setSession; setSession("token", "12345");
2. 通过键获取一个值
在这个例子中,我们将获取会话键的值。
use function Folded\setSession; use function Folded\getSession; setSession("token", "12345"); echo getSession("token"); // "12345"
3. 通过键检查一个值是否存在
在这个例子中,我们将检查通过其键的值是否存在。
use function Folded\hasSession; if (hasSession("token")) { echo "has token in session"; } else { echo "has not token in session yet"; }
4. 闪存一个值
闪存一个值包括告诉会话保留一个值以供单次使用。在这个例子中,我们将设置一个闪存值,然后获取它一次。任何尝试第二次获取它都将失败。
use function Folded\flashSession; use function Folded\getSession; use function Folded\hasSession; flashSession("token", "12345"); echo getSession("token"); // "12345" var_dump(hasSession("token")); // bool(false)
5. 在闪存后再次保留一个值
在这个例子中,我们将使用getSession()的第二个参数在获取后最后一次保留闪存的数据。
use function Folded\getSession; use function Folded\flashSession; use function Folded\hasSession; flashSession("token", "12345"); getSession("token", $keep = true); var_dump(hasSession("token")); // bool(true)
6. 通过键删除一个值
在这个例子中,我们将设置一个值,然后删除它,并检查它是否存在。
use function Folded\hasSession; use function Folded\removeSession; use function Folded\setSession; setSession("token", "12345"); var_dump(hasSession("token")); // booll(true) removeSession("token"); var_dump(hasSession("token")); // bool(false)