zoukankan      html  css  js  c++  java
  • ThinkPHP5中Session的使用

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

     

    Session的设置

     

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

    代码示例如下:

    namespace appindexcontroller;
    use thinkController;
    use thinkSession;
    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 appindexcontroller;
    use thinkRequest;
    class User
    {    
        public function index(Request $request)
        {   echo $request->session('user_name');        // 读取二维数组
            echo $request->session('user.name');
        }
    }

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

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

    示例代码:

    namespace appindexcontroller;
    use thinkSession;
    class User{    
    public function index()
        {        
            echo Session::get('user_name');        
            echo Session::get('user.name');
        }
    }

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

  • 相关阅读:
    11. Container With Most Water
    9. Palindrome Number
    375. 猜数字大小 II leetcode java
    leetcode 72 编辑距离 JAVA
    73. 矩阵置零 leetcode JAVA
    快速排序 JAVA实现
    63. 不同路径 II leetcode JAVA
    重写(override)与重载(overload)
    62 不同路径 leetcode JAVA
    leetcode 56 合并区间 JAVA
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/7117044.html
Copyright © 2011-2022 走看看