Session
实现 SessionInterface,DispatcherAwareInterface用于管理 HTTP 会话的类
提供对会话状态值的访问,以及会话级设置和生命周期管理方法。基于标准的 PHP 会话处理机制,它提供了更高级的功能,例如过期超时。
自 |
1.0 |
---|---|
包 |
Joomla 框架 |
方法
__construct
构造函数
__construct(\Joomla\Session\StorageInterface store = null, \Joomla\Event\DispatcherInterface dispatcher = null, mixed||string|int options = []) :
自 |
1.0 |
---|
参数
- store
StorageInterface|null
StorageInterface 实现。- dispatcher
DispatcherInterface|null
会话使用的 DispatcherInterface。- options
array<string|int, mixed>
可选参数。支持的键包括- name:会话名称
- id:会话 ID
- expire:会话生命周期(秒)
返回值
混合
abort
中止当前会话
abort() :
参见 | session_abort() |
---|---|
自 |
2.0.0 |
返回值
布尔值
addValidator
向会话添加验证器
addValidator(\Joomla\Session\ValidatorInterface validator) :
all
从会话存储中检索所有变量
all() : mixed||string|int
自 |
2.0.0 |
---|
返回值
array<string|int, mixed>
clear
清除会话存储中的所有变量
clear() :
自 |
1.0 |
---|
返回值
空
close
写入会话数据并结束会话
close() :
会话数据通常在脚本终止后存储,无需调用 {@link Session::close()},但由于会话数据被锁定以防止并发写入,因此任何时候只有一个脚本可以操作会话。当将框架集与会话一起使用时,由于此锁定,您将体验到框架一个接一个地加载。您可以通过在对会话变量的所有更改完成后立即结束会话来减少加载所有框架所需的时间。
参见 | session_write_close() |
---|---|
自 |
1.0 |
返回值
空
createToken
创建令牌字符串
createToken() :
自 |
1.3.1 |
---|
返回值
字符串
destroy
释放所有会话变量并销毁注册到会话的所有数据
destroy() :
此方法重置 $_SESSION 变量并销毁与其存储(文件或数据库)中当前会话关联的所有数据。它强制在调用此方法后启动新的会话。
参见 | session_destroy() session_unset() |
---|---|
自 |
1.0 |
返回值
布尔值
fork
创建一个新会话并从旧会话复制变量
fork( destroy = false) :
自 |
1.0 |
---|
参数
- destroy
布尔值
是否删除旧会话或将其留给垃圾回收。
返回值
布尔值
成功时为真
gc
执行会话数据垃圾回收
gc() : int|bool
参见 | session_gc() |
---|---|
自 |
2.0.0 |
返回值
int|布尔值
成功时删除的会话数,或失败时或函数不受支持时的布尔值 false
get
从会话存储中获取数据
get( name, default = null) :
自 |
1.0 |
---|
参数
- name
字符串
变量的名称- default
混合
如果未设置,则为变量的默认值
返回值
混合
变量的值
getDispatcher
获取事件调度器。
getDispatcher() : \Joomla\Event\DispatcherInterface
getExpire
获取过期时间(秒)
getExpire() :
自 |
1.0 |
---|
返回值
int
会话过期时间(秒)
getId
获取会话 ID
getId() :
自 |
1.0 |
---|
返回值
字符串
会话 ID
getIterator
检索外部迭代器。
getIterator() : \ArrayIterator
自 |
1.0 |
---|
返回值
ArrayIterator
返回 $_SESSION 的 ArrayIterator。
getName
获取会话名称
getName() :
自 |
1.0 |
---|
返回值
字符串
会话名称
getState
获取会话的当前状态
getState() :
自 |
1.0 |
---|
返回值
字符串
会话状态
getToken
获取会话令牌。
getToken( forceNew = false) :
令牌用于保护表单免受垃圾邮件攻击。生成令牌后,系统将检查请求以查看它是否存在,如果不存在,则会使会话无效。
自 |
1.0 |
---|
参数
- forceNew
布尔值
如果为真,则强制创建新的令牌
返回值
字符串
has
检查会话存储中是否存在数据
has( name) :
自 |
1.0 |
---|
参数
- name
字符串
变量的名称
返回值
布尔值
如果变量存在,则为真
hasToken
检查会话是否具有给定的令牌。
hasToken( token, forceExpire = true) :
自 |
1.0 |
---|
参数
- token
字符串
要验证的哈希令牌- forceExpire
布尔值
如果为真,则使会话过期
返回值
布尔值
isActive
检查会话是否处于活动状态
isActive() :
自 |
1.0 |
---|
返回值
布尔值
isNew
检查此会话当前是否已创建
isNew() :
自 |
1.0 |
---|
返回值
布尔值
isStarted
检查会话是否已启动
isStarted() :
自 |
2.0.0 |
---|
返回值
布尔值
remove
从会话存储中取消设置变量
remove( name) :
自 |
2.0.0 |
---|
参数
- name
字符串
变量的名称
返回值
混合
会话中的值,如果未设置则为 NULL
restart
重新启动已过期或锁定的会话。
restart() :
参见 | destroy |
---|---|
自 |
1.0 |
返回值
布尔值
成功时为真
set
将数据设置到会话存储中。
set( name, value = null) :
自 |
1.0 |
---|
参数
- name
字符串
变量的名称。- value
混合
变量的值。
返回值
混合
变量的旧值。
setCounter
设置会话使用计数器
setCounter() :
自 |
1.0 |
---|
返回值
布尔值
成功时为真
setDispatcher
设置要使用的调度器。
setDispatcher(\Joomla\Event\DispatcherInterface dispatcher) :
setExpire
设置会话过期
setExpire( expire) :
自 |
1.3.0 |
---|
参数
- expire
int
未使用会话的最大生存时间(秒)
返回值
$this
setId
设置会话 ID
setId( id) :
自 |
2.0.0 |
---|
参数
- id
字符串
会话 ID
返回值
$this
setName
设置会话名称
setName( name) :
自 |
2.0.0 |
---|
参数
- name
字符串
会话名称
返回值
$this
setOptions
设置其他会话选项
setOptions(mixed||string|int options) :
自 |
1.0 |
---|
参数
- options
array<string|int, mixed>
参数列表
返回值
布尔值
成功时为真
setState
设置会话状态
setState( state) :
自 |
1.3.0 |
---|
参数
- state
字符串
内部状态
返回值
$this
setTimers
设置会话计时器
setTimers() :
自 |
1.0 |
---|
返回值
布尔值
成功时为真
start
启动会话。
start() :
自 |
1.0 |
---|
返回值
空
validate
出于安全原因进行一些检查
validate( restart = false) :
如果一个检查失败,则必须清除会话数据。
参见 |
http://shiflett.org/articles/the-truth-about-sessions |
---|---|
自 |
1.0 |
参数
- restart
布尔值
重新激活会话
返回值
布尔值
成功时为真
属性
state
内部会话状态。
自 |
1.0 |
---|
类型
字符串
expire
未使用会话的最大生存时间(秒)。
自 |
1.0 |
---|
类型
int