TP5中Session和Cookie的基础用法

Session的基础用法

赋值

  1. // 赋值(当前作用域)
  2. Session::set('name','thinkphp');
  3. // 赋值think作用域
  4. Session::set('name','thinkphp','think');

判断是否存在

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

取值

  1. // 取值(当前作用域)
  2. Session::get('name');
  3. // 取值think作用域
  4. Session::get('name','think');

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

删除

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

指定作用域

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

取值并删除

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

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

清空

  1. // 清除session(当前作用域)
  2. Session::clear();
  3. // 清除think作用域
  4. Session::clear('think');

Cookie

设置

// 设置Cookie 有效期为 3600秒
Cookie::set('name','value',3600);
// 设置cookie 前缀为think_
Cookie::set('name','value',['prefix'=>'think_','expire'=>3600]);
// 支持数组
Cookie::set('name',[1,2,3]);
判断
Cookie
- 502 - 本文档使用 看云 构建
Cookie::has('name');
// 判断指定前缀的cookie值是否存在
Cookie::has('name','think_');
获取
Cookie::get('name');
// 获取指定前缀的cookie值
Cookie::get('name','think_');
删除
删除cookie
Cookie::delete('name');
// 删除指定前缀的cookie
Cookie::delete('name','think_');
清空
// 清空指定前缀的cookie
Cookie::clear('think_');

2.是结合项目

在这里我遇到的问题是前台这个位置的问题。开始时是这样写的{Session::get('变量名')}

因为要换成TP5的格式,看前台需要用{$Request.session.name}或者{$Think.session.name}的格式,但是我因为已经用了php标签再用这个会报错,因为他是默认解析成<?php echo....?>的格式的。所以我改成了这个样子。

说到底解决的问题就是tp5版本的session信息怎么在前台输出,而且在输出前用PHP进行预处理(比如一些简单的判断判断)。

posted @ 2020-09-22 16:20  summer°  阅读(898)  评论(0编辑  收藏  举报