1、验证器的使用
验证器的调用
普通调用
$data = [
'name' => '',
'age' => 100,
'sex' => 0,
'phone' => 13752812824
];
$v = new Validate();
$v->rule([
'name' => 'require|length: 1,25',
'sex' => 'require|in: 0,1',
]);
$v->message([
'name.require' => '请输入名字',
'name.length' => '名字的长度是1到25之间',
'sex.require' => '请输入性别',
'sex.in' => '性别必需为0或者1'
]);
$res = $v->check($data);
dump($res);
//输出false
dump($v->getError());
//输出 请输入名字
另一种调用
$validate = (new Validate([ ['name', 'require|max:25', '请输入名字|名字长度最大不能超过25'], ['age','require|<:200', '请填充入年龄|年龄不能超过200'], ['sex', 'in:0,1', '性别必需为0或者1'], ['phone', 'require|unique:user,phone|regex:\d{11}', '请输入电话|电话已经被注册了|电话的长度为11位数'] ]));
$res = $validate->check($data); dump($res); dump($validate->getError()); if($res === false) { dump(User::getInfo()); } $v = validate('VUser')->check($data); dump($v); dump(validate('VUser')->getError());
也可以单独分离出来,建立单独的文件
<?php namespace app\index\validate; use think\Validate; class VUser extends Validate { protected $rule = [ ['name', 'require|max:25', '请输入名字|名字长度最大不能超过25'], ['age','require|<:200', '请填充入年龄|年龄不能超过200'], ['sex', 'in:0,1', '性别必需为0或者1'], ['phone', 'require|unique:user,phone|regex:\d{11}', '请输入电话|电话已经被注册了|电话的长度为11位数'] ]; protected $scene = [ 'abc' => ['name', 'age'], 'efg' => ['sex', 'phone'] ]; }
调用
public function index(){ $data = [ 'name' => '', 'age' => 100, 'sex' => 0, 'phone' => 13752812824 ]; $v = validate('VUser'); //方式一 // $v = Loader::validate('VUser'); //方式二 // $v = new VUser(); //方式三 $res = $v->scene('efg')->check($data); $msg = $v->getError(); dump($res); dump($msg); }
验证器的内置规则如链接
2、缓存的使用
缓存 a) 缓存的作用: 减少数据库压力 用户交互比较 b) TP对缓存的支持 支持的缓存类型包括file、memcache、wincache、sqlite、redis和xcache。 c) 缓存设置(C:\AppServ\www\tp5\application\config.php) 'cache' => [ // 驱动方式 'type' => 'File', // 缓存保存目录 'path' => CACHE_PATH, // 缓存前缀 'prefix' => '', // 缓存有效期 0表示永久缓存 'expire' => 0, ], d) 使用 1、设置缓存 Cache::set(名字,值,时间); cache(名字,值,时间); # 返回值 如果设置成功 true # 如果设置失败 false 2、读取缓存 Cache::get(名字); cache(名字); # 返回值 如果获取成功 获取到的数据 # 如果获取失败 false 3、删除缓存 Cache::rm('UserData'); cache('UserData',NULL); # 返回值 删除成功 true # 删除失败 false 4、清空缓存 Cache::clear(); # 返回值 清空缓存成功 true 否则 false 5、使用缓存 // 从缓存中获取数据 if ($data=cache('UserData')) { // 如果数据存在 }else{ // 如果缓存中没有数据 $data=Db::table('User')->select(); cache('UserData',$data,20); }
10、常用常量
IS_WIN:判断当前是否是window系统
THINK_PATH:返回的是当前thinkphp的工作目录
APP_PATH:返回的是application的工作目录