thinkphp5.0学习笔记(五)

摘要:
1.验证者的使用验证者调用$data=['name'=˃'','age'=˃100,'sex'=˃0,'phone'=˃13752812824]$v=newValidate();$v-˃规则(['name'=˃'require|length:1,25','ex'=˃'require|in:0,1',]);$V-˃消息(['name.requid'=˃'请输入名称'

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 appindexvalidate;
use thinkValidate;
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);
}

 验证器的内置规则如链接

https://www.kancloud.cn/manual/thinkphp5/129356

 2、缓存的使用

缓存
    
    a) 缓存的作用:

        减少数据库压力
        用户交互比较

    b) TP对缓存的支持

        支持的缓存类型包括file、memcache、wincache、sqlite、redis和xcache。

    c) 缓存设置(C:AppServwww	p5applicationconfig.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的工作目录

免责声明:文章转载自《thinkphp5.0学习笔记(五)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇友盟分享 第三方平台白名单关于RoI pooling 层下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos6.5安装mysql5.7.20

CentOS 通过yum在线安装MySQL5.7 Step1: 检测系统是否自带安装mysql # yum list installed | grep mysql Step2: 删除系统自带的mysql及其依赖命令: # yum -y remove mysql-libs.x86_64 Step3: 给CentOS添加rpm源,并且选择较新的源命令: #...

drf序列化组件

一. 序列化组件介绍# Copy 1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 3. 反序列化,完成数据校验功能 二. 简单使用# 步骤: Copy 1. 写一个序列化的类,继承Serializer 2....

jquery.validate.js的Validate表单验证

原文连接 https://blog.csdn.net/weixin_42765270/article/details/84591593 validate 一、 validate的使用步骤 引入jquery.min.js 引入 jquery.validate.js 页面加载后对表单进行验证 $("#表单id名").validate({}) 在valid...

配置文件入门 WebConfig.config常用配置节点介绍

  一、配置文件入门   .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config。在WinForm程序中配置文件一般是App.config。在Asp.net中一般默认是web.config。   一个.config配置文件都是基于XML的文本文件,并且可以保存到Web应用程序中的任何目录中。在发布Web应用程序时we...

startUML破解方式

StarUML官方下载地址:http://staruml.io/download StarUML是一个非常好用的画UML图的工具,但是它是收费软件​,以下是破解方法: ​1.使用Editplus或者Notepad++等特殊的文本编辑器打开%StarUML_HOME%/www/license/node/LicenseManagerDomain.js文件 2....

jQuery Validate 插件[表单验证 属性介绍]

详细介绍一下Validate插件 $("#form的Id").validate({ }) 属性 规则 描述 required:true 必须输入的字段 required: "#aa:checked"  表达式的值为真,则需要验证。 required: function(){}  返回为真,表示需要验证 remote:"check.ph...