您的位置:澳门402永利com > 关于计算机 > ThinkPHP关于session的操作方法汇总

ThinkPHP关于session的操作方法汇总

发布时间:2019-09-23 20:45编辑:关于计算机浏览(140)

    本文详细陈述了ThinkPHP关于session的种种操作方法,详细的情况如下:

    ThinkPHP操作session官方的验证文书档案如下:

    start 启动session
    pause 暂停session
    clear 清除session
    destroy 销毁session
    get 获取session值
    getLocal 获得私有session值
    set 设置session值
    setLocal 设置私有session值
    name 获得或许安装session_name
    is_set 是或不是设置session值
    is_setLocal 是或不是设置私有session值
    id 获取大概设置session_id
    path 获取恐怕设置session_save_path
    setExpire 设置session过期时 间
    setCookieDomain 设置有效域名
    setCallback 设置Session 对象反体系化时候的回调函数

    最常用的操作方法示例代码如下:

    // 检测Session变量是否存在
    Session::is_set('name');
    // 给Session变 量赋值
    Session::set('name','value');
    // 获取Session变量
    Session::get('name');
    

    和Session相关的配置参数代码如下:

    'SESSION_NAME'=>'ThinkID',        // 默认Session_name
    'SESSION_PATH'=>'',            // 采用默认的Session save path
    'SESSION_TYPE'=>'File',            // 默认Session类型 支持 DB 和 File 
    'SESSION_EXPIRE'=>'300000',        // 默认Session有效期
    'SESSION_TABLE'=>'think_session',    // 数据库Session方式表名
    'SESSION_CALLBACK'=>'',            // 反序列化对象的回调方法
    

    其中SESSION_NAME 参数须求注意,假设急需在不一样的连串里面不分享传递Session的值,请设置区别的值,不然请保留同样的暗中认可值。
    万一设置了同等的SESSION_NAME的值,不过又愿意成立基于项目标私有Session空间,应该怎么管理啊?ThinkPHP还援助以项目为 Session空间的私有Session操作,以在此之前的常用操作为例,咱们转移如下:

    // 检测Session变量是否存在(当前项目有效)
    Session::is_setLocal('name');
    // 给Session变 量赋值(当前项目有效)
    Session::setLocal('name','value');
    // 获取Session变量(当前 项目有效)
    Session::getLocal('name');
    

    诸如此比,和大局的Session操作就不会抵触,能够用来一些异样情状的必要。
    ThinkPHP援救数据库形式的Session操作,设置SESSION_TYPE的值为DB就可以了,假诺应用数据库格局,还要确定保障设置好SESSION_TABLE的值,而且导入上边包车型客车DDL到您的 数据库(以MySQL为例子):

    CREATE TABLE `think_session` (
    `id` int(11) unsigned NOT NULL auto_increment,
    `session_id` varchar(255) NOT NULL,
    `session_expires` int(11) NOT NULL,
    `session_data` blob,
    PRIMARY KEY(`id`)
    )
    

    注意,Db Session方式的数据库连接会接纳项目标数据库配置音讯举行三番五次。除去数据库格局外,还足以追加另外格局的Session保存机制,举例内部存款和储蓄器格局、 Memcache方式等,我们只要扩展对应的过滤器就行了,使用session_set_save_handler 方法,具体的法子定义参考Think.Util.Filter上面包车型客车FilterSessionDb.class.php 文件的达成。

    制作了一个回顾的登入推断
    登陆检查测验之后赋予Session值,使Session的值为非空即为假的false

    $_SESSION[C('USER_AUTH_KEY')] = $logInFind['id'] ;
    

    其中 [C('USER_AUTH_KEY')]为ThinkPHP的松手方法和函数类。在未配备config.php文件时默以为空
    把$logInFind['id'] 抽出的帐号值赋予它,默感到页面Session就机关删除消失!
    任何页面使用上面格式判别

    if(!isset($_SESSION[C('USER_AUTH_KEY')])) { //isset 是检测变量是否赋值!
       $this->redirect('Login','Login'); //转到注册页面
    }
    

    本文由澳门402永利com发布于关于计算机,转载请注明出处:ThinkPHP关于session的操作方法汇总

    关键词:

上一篇:没有了

下一篇:14:求一千0以内n的阶乘