thinkphp5.0學習筆記(五)

一、驗證器的使用php

驗證器的調用redis

普通調用sql

$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());
//輸出 請輸入名字

另外一種調用thinkphp

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

 驗證器的內置規則如連接app

 二、緩存的使用thinkphp5

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

 

 

 

 

 

十、經常使用常量ui

  IS_WIN:判斷當前是不是window系統spa

  THINK_PATH:返回的是當前thinkphp的工做目錄

  APP_PATH:返回的是application的工做目錄

相關文章
相關標籤/搜索