tp6 session 使用json_decode反序列化再次设置时报错

浏览:193 发布日期:2019/05/10
5.0.0 - 普通 - 已处理
[0] Error in Session.php line 209
Cannot use object of type stdClass as array
    {
        empty($this->init) && $this->boot();

        if (strpos($name, '.')) {
            // 二维数组赋值
            list($name1, $name2) = explode('.', $name);

            $this->data[$name1][$name2] = $value;
        } else {
            $this->data[$name] = $value;
        }
    }

    /**
     * session获取
     * @access public
     * @param  string $name session名称
     * @param  mixed  $default 默认值
     * @return mixed
当将序列化配置设置为['json_encode', 'json_decode']时,由于反序列化时之传入一个参数,解析的是对象,导致在设置报错    /**
     * 反序列化数据
     * @access protected
     * @param  string $data
     * @return mixed
     */
    protected function unserialize(string $data)
    {
        $unserialize = $this->config['serialize'][1] ?? 'unserialize';

        return $unserialize($data);
    }
评论(
后面还有条评论,点击查看>>