\GatewayWorker\Lib\Gateway::updateSession

说明:

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

(要求Gateway版本>=2.0.4)

更新某个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是

  1. array(
  2. 'name' => '张三',
  3. 'age' => 16,
  4. )

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

  1. array(
  2. 'name'=>'李四',
  3. 'sex' => 1
  4. )



Gateway::updateSession示例

假设目前$client_id的session是

  1. array(
  2. 'name' => '张三',
  3. 'age' => 16,
  4. )

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

  1. array(
  2. 'name' => '李四',
  3. 'age' => 16,
  4. 'sex' => 1
  5. )