zoukankan      html  css  js  c++  java
  • session的使用

    Session初始化

    在ThinkPHP5.0中使用 hinkSession类进行Session相关操作,Session会在第一次调用Session类的时候按照配置的参数自动初始化,例如,我们在应用配置中添加如下配置:

    'session'                => [
        'prefix'         => 'think',
        'type'           => '',
        'auto_start'     => true,
    ],
    

    如果我们使用上述的session配置参数的话,无需任何操作就可以直接调用Session类的相关方法,例如:

    Session::set('name','thinkphp');
    Session::get('name');
    

    如果你应用下面的不同模块需要不同的session参数,那么可以在模块配置文件中重新设置:

    'session'                => [
        'prefix'         => 'module',
        'type'           => '',
        'auto_start'     => true,
    ],
    

    或者调用init方法进行初始化:

    Session::init([
        'prefix'         => 'module',
        'type'           => '',
        'auto_start'     => true,
    ]);
    

    如果你没有使用Session类进行Session操作的话,例如直接操作$_SESSION,必须使用上面的方式手动初始化或者直接调用session_start()方法进行session初始化。

    基础用法

    赋值

    // 赋值(当前作用域)
    Session::set('name','thinkphp');
    // 赋值think作用域
    Session::set('name','thinkphp','think');
    

    判断是否存在

    // 判断(当前作用域)是否赋值
    Session::has('name');
    // 判断think作用域下面是否赋值
    Session::has('name','think');
    

    取值

    // 取值(当前作用域)
    Session::get('name');
    // 取值think作用域
    Session::get('name','think');
    

    如果name的值不存在,返回null

    删除

    // 删除(当前作用域)
    Session::delete('name');
    // 删除think作用域下面的值
    Session::delete('name','think');
    

    指定作用域

    // 指定当前作用域
    Session::prefix('think');
    

    取值并删除

    // 取值并删除
    Session::pull('name');
    

    如果name的值不存在,返回Null

    清空

    // 清除session(当前作用域)
    Session::clear();
    // 清除think作用域
    Session::clear('think');
    

    闪存数据,下次请求之前有效(v5.0.2+

    // 设置session 并且在下一次请求之前有效
    Session::flash('name','value');
    

    提前清除当前请求有效的数据(v5.0.2+

    // 清除当前请求有效的session
    Session::flush();



    二级数组

    支持session的二维数组操作,例如:

    // 赋值(当前作用域)
    Session::set('name.item','thinkphp');
    // 判断(当前作用域)是否赋值
    Session::has('name.item');
    // 取值(当前作用域)
    Session::get('name.item');
    // 删除(当前作用域)
    Session::delete('name.item');
    

    助手函数

    系统也提供了助手函数session完成相同的功能,例如:

    // 初始化session
    session([
        'prefix'     => 'module',
        'type'       => '',
        'auto_start' => true,
    ]);
    
    // 赋值(当前作用域)
    session('name', 'thinkphp');
    
    // 赋值think作用域
    session('name', 'thinkphp', 'think');
    
    // 判断(当前作用域)是否赋值
    session('?name');
    
    // 取值(当前作用域)
    session('name');
    
    // 取值think作用域
    session('name', '', 'think');
    
    // 删除(当前作用域)
    session('name', null);
    
    // 清除session(当前作用域)
    session(null);
    
    // 清除think作用域
    session(null, 'think');
    

    Session驱动

    支持指定 Session 驱动,配置文件如下:

    'session' => [
        'prefix'     => 'module',
        'type'       => 'redis',
        'auto_start' => true,
         // redis主机
        'host'       => '127.0.0.1',
         // redis端口
        'port'       => 6379,
         // 密码
        'password'   => '',
    ]
  • 相关阅读:
    如何在SharePointDesigner订制页面里判断用户权限
    为SharePoint 2010中的FBA创建自定义登录页面
    javascript中的this到底指什么?
    用JAVASCRIPT实现静态对象、静态方法和静态属性
    简单的HoverMenu效果
    JavaScript 调用sharepoint内置webservice 更新item
    域中搜索用户email
    服务控制管理器错误
    SQL Server 2008/2005不能修改表结构的解决方法
    类集对枚举的支持
  • 原文地址:https://www.cnblogs.com/mmore123/p/12881375.html
Copyright © 2011-2022 走看看