horizom / session
Horizom Session 包。
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2024-09-29 06:03:24 UTC
README
Horizom Session
处理会话的PHP库。
要求
此库兼容的PHP版本:8.0 | 8.1。
安装
安装此扩展的首选方式是通过Composer。
要安装PHP会话库,只需
composer require horizom/session
前面的命令只会安装必要的文件,如果您希望下载整个源代码,可以使用
composer require horizom/session --prefer-source
可用方法
此库中的可用方法
启动会话
$session->start(array $options = []);
@see https://php.ac.cn/session.configuration 获取可用 $options
列表及其默认值
@throws SessionException
如果已发送头信息
@throws SessionException
如果会话已启动
@throws SessionException
如果设置选项失败
@Return bool
检查会话是否已启动
$session->isStarted();
@Return bool
通过名称设置属性
$session->set(string $name, mixed $value = null);
@throws SessionException
如果会话未启动
@Return void
通过名称获取属性
如果属性不存在,可选地定义默认值。
$session->get(string $name, mixed $default = null);
@Return mixed
值
获取所有属性
$session->all();
@Return array
$_SESSION内容
检查属性是否存在于会话中
$session->has(string $name);
@Return bool
一次性设置多个属性
如果属性存在,则替换它们,如果它们不存在,则创建它们。
$session->replace(array $data);
@throws SessionException
如果会话未启动
@Return void
通过名称删除属性并返回其值
如果属性不存在,可选地定义默认值。
$session->pull(string $name, mixed $default = null);
@throws SessionException
如果会话未启动
@Return mixed
属性值
通过名称删除属性
$session->remove(string $name);
@throws SessionException
如果会话未启动
@Return void
释放所有会话变量
$session->clear();
@throws SessionException
如果会话未启动
@Return void
获取会话ID
$session->getId();
@Return string
会话ID
设置会话ID
$session->setId(string $sessionId);
@throws SessionException
如果会话已启动
@Return void
使用新生成的ID更新当前会话ID
$session->regenerateId(bool $deleteOldSession = false);
@throws SessionException
如果会话未启动
@Return bool
获取会话名称
$session->getName();
@Return string
会话名称
设置会话名称
$session->setName(string $name);
@throws SessionException
如果会话已启动
@Return void
销毁会话
$session->destroy();
@throws SessionException
如果会话未启动
@Return bool
快速开始
要使用此库与 Composer
use Horizom\Session\Session; $session = new Session();
或者,您可以使用外观来静态访问方法
use Horizom\Session\Facades\Session;
用法
此库的使用示例
- 启动会话
不设置选项
$session->start();
设置选项
$session->start([ // 'cache_expire' => 180, // 'cache_limiter' => 'nocache', // 'cookie_domain' => '', 'cookie_httponly' => true, 'cookie_lifetime' => 8000, // 'cookie_path' => '/', 'cookie_samesite' => 'Strict', 'cookie_secure' => true, // 'gc_divisor' => 100, // 'gc_maxlifetime' => 1440, // 'gc_probability' => true, // 'lazy_write' => true, // 'name' => 'PHPSESSID', // 'read_and_close' => false, // 'referer_check' => '', // 'save_handler' => 'files', // 'save_path' => '', // 'serialize_handler' => 'php', // 'sid_bits_per_character' => 4, // 'sid_length' => 32, // 'trans_sid_hosts' => $_SERVER['HTTP_HOST'], // 'trans_sid_tags' => 'a=href,area=href,frame=src,form=', // 'use_cookies' => true, // 'use_only_cookies' => true, // 'use_strict_mode' => false, // 'use_trans_sid' => false, ]);
使用外观
Session::start();
- 检查会话是否已启动
使用会话对象
$session->isStarted();
使用外观
Session::isStarted();
- 通过名称设置属性
使用会话对象
$session->set('foo', 'bar');
使用外观
Session::set('foo', 'bar');
- 通过名称获取属性
如果属性不存在则不设置默认值
$session->get('foo'); // null if attribute does not exist
如果属性不存在则设置默认值
$session->get('foo', false); // false if attribute does not exist
使用外观
Session::get('foo');
- 获取所有属性
使用会话对象
$session->all();
使用外观
Session::all();
- 检查属性是否存在于会话中
使用会话对象
$session->has('foo');
使用外观
Session::has('foo');
- 一次性设置多个属性
使用会话对象
$session->replace(['foo' => 'bar', 'bar' => 'foo']);
使用外观
Session::replace(['foo' => 'bar', 'bar' => 'foo']);
- 通过名称删除属性并返回其值
如果属性不存在则不设置默认值
$session->pull('foo'); // null if attribute does not exist
如果属性不存在则设置默认值
$session->pull('foo', false); // false if attribute does not exist
使用外观
Session::pull('foo');
- 通过名称删除属性
使用会话对象
$session->remove('foo');
使用外观
Session::remove('foo');
- 释放所有会话变量
使用会话对象
$session->clear();
使用外观
Session::clear();
- 获取会话ID
使用会话对象
$session->getId();
使用外观
Session::getId();
- 设置会话ID
使用会话对象
$session->setId('foo');
使用外观
Session::setId('foo');
- 使用新生成的ID更新当前会话ID
在不删除旧会话的情况下重新生成ID
$session->regenerateId();
通过删除旧会话来重新生成ID
$session->regenerateId(true);
使用外观
Session::regenerateId();
- 获取会话名称
使用会话对象
$session->getName();
使用外观
Session::getName();
- 设置会话名称
使用会话对象
$session->setName('foo');
使用外观
Session::setName('foo');
- 销毁会话
使用会话对象
$session->destroy();
使用外观
Session::destroy();
许可证
本存储库采用MIT许可证授权。