首頁 >php教程 >php手册 >ThinkPHP5中Session的使用

ThinkPHP5中Session的使用

WBOY
WBOY原創
2016-10-22 00:00:061521瀏覽

由於用慣了ThinkPHP之前的版本,一想到要用Session就直接用$_SESSION來訪問,今天看了ThinkPHP5的手冊,才發現原來這麼用時不安全滴。 ThinKPHP5對Session進行了封裝,用的時候至少看起來安全多了。

 

Session的設定

 

如果想要操作Session,再Think PHP5中需要使用ThinkSession這個類別

程式碼範例如下:

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最安全的方法是使用ThinkRequet類別的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變數方便,但為了安全,值得一試。

 

本文首發頂求網,轉載請註明出處。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn