版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41179401/article/details/84940468
thinkphp5——杂项
1 缓存
ThinkPHP采用think\Cache
类提供缓存功能支持。
设置缓存
设置缓存(有效期一个小时)
Cache::set('name',$value,3600);
缓存自增
针对数值类型的缓存数据,可以使用自增操作,例如:
// name自增(步进值为1)
Cache::inc('name');
// name自增(步进值为3)
Cache::inc('name',3);
缓存自减
针对数值类型的缓存数据,可以使用自减操作,例如:
// name自减(步进值为1)
Cache::dec('name');
// name自减(步进值为3)
Cache::dec('name',3);
获取缓存
获取缓存数据可以使用:
dump(Cache::get('name'));
如果name
值不存在,则默认返回 false
。
支持指定默认值,例如:
dump(Cache::get('name',''));
表示如果name
值不存在,则返回空字符串。
删除缓存
Cache::rm('name');
获取并删除缓存
Cache::pull('name');
如果name
值不存在,则返回null
。
扫描二维码关注公众号,回复:
4872213 查看本文章
清空缓存
Cache::clear();
不存在则写入缓存数据后返回(v5.0.2+
)
Cache::remember('name',function(){
return time();
});
获取缓存对象
可以获取缓存对象,并且调用驱动类的高级方法,例如:
$cache = Cache::init();
// 获取缓存对象句柄
$handler = $cache->handler();
助手函数
系统对缓存操作提供了助手函数cache
,用法如下:
$options = [
// 缓存类型为File
'type' => 'File',
// 缓存有效期为永久有效
'expire' => 0,
// 指定缓存目录
'path' => APP_PATH . 'runtime/cache/',
];
// 缓存初始化
// 不进行缓存初始化的话,默认使用配置文件中的缓存配置
cache($options);
// 设置缓存数据
cache('name', $value, 3600);
// 获取缓存数据
var_dump(cache('name'));
// 删除缓存数据
cache('name', NULL);
// 设置缓存的同时并且进行参数设置
cache('test', $value, $options);
2 session和cookie
ThinkPHP采用think\Session
类提供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');
3 cookie
thinkPHP采用think\Cookie
类提供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::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_');
助手函数
系统提供了cookie助手函数用于基本的cookie操作,例如:
// 初始化
cookie(['prefix' => 'think_', 'expire' => 3600]);
// 设置
cookie('name', 'value', 3600);
// 获取
echo cookie('name');
// 删除
cookie('name', null);
// 清除
cookie(null, 'think_');
4 分页
5 上传
6 验证码
模版内验证码的显示
<div>{:captcha_img()}</div>
或者
<div><img src="{:captcha_src()}" alt="captcha" /></div>
验证验证码:
if(!captcha_check($captcha)){
//验证失败
};
7 图像处理
8 文件处理
9