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

  • 相关阅读:
    不务正业系列-浅谈《过气堡垒》,一个RTS玩家的视角
    [LeetCode] 54. Spiral Matrix
    [LeetCode] 40. Combination Sum II
    138. Copy List with Random Pointer
    310. Minimum Height Trees
    4. Median of Two Sorted Arrays
    153. Find Minimum in Rotated Sorted Array
    33. Search in Rotated Sorted Array
    35. Search Insert Position
    278. First Bad Version
  • 原文地址:https://www.cnblogs.com/rickyctbu/p/11605296.html
Copyright © 2011-2022 走看看