Session

实现 SessionInterfaceDispatcherAwareInterface

用于管理 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|nullStorageInterface 实现。

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) : 

2.0.0

参数

validator

ValidatorInterface会话验证器

返回值

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
继承

1.2.0

抛出

UnexpectedValueException如果未设置调度器,则可能会抛出。

返回值

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) : 
继承

1.2.0

参数

dispatcher

DispatcherInterface要使用的调度器。

返回值

$this

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

布尔值重新激活会话

返回值

布尔值成功时为真

属性

dispatcher

事件调度器

继承

1.2.0

类型

DispatcherInterface|null

state

内部会话状态。

1.0

类型

字符串

expire

未使用会话的最大生存时间(秒)。

1.0

类型

int

store

会话存储对象。

1.0

类型

StorageInterface

sessionValidators

包含会话验证器的容器。

2.0.0

类型

array<string|int, ValidatorInterface>