zoukankan      html  css  js  c++  java
  • thinkphp5.0学习笔记(五)

    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);
    }

     验证器的内置规则如链接

     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的工作目录

  • 相关阅读:
    批处理基础知识-IF
    在Windows 10 x64 编译ReactOS-0.4.5源码并在VMare中运行
    复制20天以前指定的文件夹、子文件夹和子文件至指定目录
    bat(批处理)命令(tomcat 7.0.75 startup.bat 命令集)
    mycat
    mysql
    5种网络IO模型
    Linux常用命令
    mybatis多参数传递,延迟加载,缓存,注解开发
    事务,mybatis
  • 原文地址:https://www.cnblogs.com/rickyctbu/p/11605296.html
Copyright © 2011-2022 走看看