Skip to content

\GatewayWorker\Lib\Gateway::updateSession

说明:

php
void Gateway::updateSession(string $client_id, array $session);

(要求Gateway版本>=2.0.4) 如何查看 Gateway 版本

更新某个 client_id 对应的 session。如果对应 client_id 已经下线或者不存在,则会被忽略。

此函数与 Gateway::setSession($client_id, $new_session) 的区别是:

1、 Gateway::setSession($client_id, $new_session) 是整体赋值。

2、 Gateway::updateSession($client_id, $update_session) 部分更新。

注意:

不要 $_SESSION 赋值与 Gateway::updateSession 同时操作同一个 $client_id ,可能会造成 session 值与预期效果不符。操作当前用户用 $_SESSION['xx']=xxx 方式赋值即可,操作其他用户 session 可以使用 Gateway::updateSession 接口。

参数

  • $client_id

客户端的 client_id

  • $session

要设置的 session 数组

返回值

无返回

Gateway::setSession 与 Gateway::updateSession 区别

Gateway::setSession 示例

假设目前 $client_id 的 session 是

php
array(
    'name' => '张三',
    'age'  => 16,
)

调用 Gateway::setSession($client_id, array('name'=>'李四', 'sex'=>1)); 后 session 为

php
array(
    'name'=>'李四',
    'sex' => 1
)

Gateway::updateSession 示例

假设目前 $client_id 的 session 是

php
array(
    'name' => '张三',
    'age'  => 16,
)

调用 Gateway::updateSession($client_id, array('name'=>'李四', 'sex'=>1)); 后 session 为

php
array(
    'name' => '李四',
    'age'  => 16,
    'sex'  => 1
)

基于 MIT 许可发布