视频学习笔录---ThinkPHP---thinkphp会话支持和文件载入

Posted jianxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视频学习笔录---ThinkPHP---thinkphp会话支持和文件载入相关的知识,希望对你有一定的参考价值。

【一】会话控制

会话支持一般指cookie和session,在Thinkphp里为了方便开发,封装了cookie和session方法。

(1)session方法

在函数库封装了session方法

session(‘name‘,‘value‘)         创建一个名为name的session,值为value

$value = session(‘name‘)     读取session中的name元素值,并赋值给变量$value

session(‘name‘,null)             删除session中名为name元素的值

session(null)                        删除全部session值

session()                             读取全部的session信息

session(‘?name‘)                 判断名为name的session元素是否存在,存在返回true,否则返回false

案例:在方法中使用session方法,对session进行操作

①设置session

session(‘name‘,‘tony‘);
session(‘age‘,‘23‘);
var_dump($_SESSION);

②读取session

$value = session(‘name‘);

下面案例比较简单,不一一列举

 

(2)cookie方法

在函数库封装了cookie方法

cookie(‘name‘,‘value‘)             创建一个名为name的cookie,值为value

cookie(‘name‘,‘value‘,3600)    创建一个名为name的cookie,值为value,有效期为3600s

$value=cookie(‘name‘)           读取名为name的cookie,赋值给value

cookie(‘name‘,null)                 删除名为name的cookie

cookie(null)                            删除所有,但是测试后发现无效。查看手册,发现该方法有BUG。若想实现,则需更改底层实现代码。在下面写到

cookie()                                  获取全部的cookie

注意:若不指定时间,则session会话结束时到期。

修改底层代码:

// 清除指定前缀的所有cookie
    if (is_null($name)) {
        if (empty($_COOKIE))
            return null;
        // 要删除的cookie前缀,不指定则删除config设置的指定前缀
        $prefix = empty($value) ? $config[‘prefix‘] : $value;
        if (!empty($prefix) || $name == null) {// 如果前缀为空字符串将不作处理直接返回
            foreach ($_COOKIE as $key => $val) {
                if (0 === stripos($key, $prefix)||$name == null) {//函数库1379行
                    setcookie($key, ‘‘, time() - 3600, $config[‘path‘], $config[‘domain‘],$config[‘secure‘],$config[‘httponly‘]);
                    unset($_COOKIE[$key]);
                }
            }
        }
        return null;
    }elseif(‘‘ === $name){
        // 获取全部的cookie
        return $_COOKIE;
    }

 

以上是关于视频学习笔录---ThinkPHP---thinkphp会话支持和文件载入的主要内容,如果未能解决你的问题,请参考以下文章

视频学习笔录---ThinkPHP---案例2--职员管理功能

视频学习笔录---ThinkPHP---框架介绍

视频学习笔录---ThinkPHP---rbac权限管理

视频学习笔录---ThinkPHP---thinkphp会话支持和文件载入

视频学习笔录---ThinkPHP---thinkphp视图

视频学习笔录---ThinkPHP---TP功能类之公文管理功能