首页 > php教程 > php手册 > 正文

ThinkPHP5中Session的使用

WBOY
发布: 2016-10-22 00:00:06
原创
1454 人浏览过

由于用惯了ThinkPHP之前的版本,一想到要用Session就直接用$_SESSION来存取,今天看了ThinkPHP5的手册,才发现原来这么用时不安全滴。ThinKPHP5对Session进行了封装,用的时候至少看起来安全多了。

 

Session的设置

 

如果想要操作Session,再Think PHP5中需要使用Think\Session这个类

代码示例如下:

namespace app\index\controller;
use think\Controller;
use think\Session;
class Index extends Controller{    
public function index()
    {        
        return $this->fetch();
    }    
    public function save($name='')
    {
        Session::set('user_name',$name);        
        $this->success('Session设置成功');
    }
}
登录后复制

Session的读取

读取Session最安全的方法是使用Think\Requet类的session方法

示例代码如下:

namespace app\index\controller;
use think\Request;
class User
{    
    public function index(Request $request)
    {   echo $request->session('user_name');        // 读取二维数组
        echo $request->session('user.name');
    }
}
登录后复制

使用这种方式不仅安全而且可以读取任意维度的Session变量。

当然也可以使用Session类来读取Session,不过这种方式最多只支持二维Session变量的读取

示例代码:

namespace app\index\controller;
use think\Session;
class User{    
public function index()
    {        
        echo Session::get('user_name');        
        echo Session::get('user.name');
    }
}
登录后复制

虽然有些麻烦,没有直接使用全局数组$_SESSION存入session变量方便,但是为了安全,值得一试。

 

本文首发顶求网,转载请注明出处。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!