溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

小程序_ThinkPHP_2

發(fā)布時間:2020-04-08 00:28:43 來源:網(wǎng)絡(luò) 閱讀:567 作者:sejungnet 欄目:軟件技術(shù)

構(gòu)建驗證層


小程序_ThinkPHP_2
小程序_ThinkPHP_2
下載一個tp5的框架文件解壓到xampp\htdocs下改名zerg(服務(wù)端)然后用PhpStorm新建一個項目打開zerg目錄在application目錄下新建一個api文件夾模塊然后新建一個controller文件夾,controller下新建v1文件夾,然后新建一個Banner.php(Controller層),里面新建一個方法getBanner(Action動作):
class Banner
{
public function getBanner(){
}
}


1.直白方式驗證:
(1)TP5傳參數(shù)法
小程序_ThinkPHP_2
public function getBanner($id){
$data = [
'id' => $id,
];

    $validate = new Validate([
        'id' => 'require|max:2'  //表示id參數(shù)為必須長度不能超過2個字符
    ]);

    $result = $validate->check($data);
    if(!$result){
        echo $validate->getError();
    }else{
        echo "成功";
    }

}
測試結(jié)果如下:
小程序_ThinkPHP_2


(2)利用Request獲取所有參數(shù)的方法:
小程序_ThinkPHP_2
結(jié)果一樣:
小程序_ThinkPHP_2
$validate = new Validate([
'id' => 'require|max:2'
]);
$request = Request::instance();
$result = $validate->check($request->param());
if(!$result){
echo $validate->getError();
}else{
echo "成功";
}


2.面向?qū)ο蟮姆绞津炞C:
方式1(雛形版)
在api下新建一個validate,新建php文件IDMustBePositiveInt.php 繼承于Validate,添加以下代碼
protected $rule = [
'id' => 'require|isPositiveInteger', //添加自定義驗證方法isPositiveInteger
];

protected function isPositiveInteger($value, $rule = '', $data = '', $field = ''){
    if(is_numeric($value) && is_int($value+0) && ($value + 0) > 0){
        return true;
    }else{
        return $field . '必須是正整數(shù)';
    }
}

小程序_ThinkPHP_2
結(jié)果如下:
小程序_ThinkPHP_2

方式2(最終版)
在validate下新建一個BaseValidate.php文件(控制器)同Validate繼承,添加一個自定義方法goCheck();
小程序_ThinkPHP_2
然后讓isMusBePositiveInt同Validate繼承
小程序_ThinkPHP_2
然后在Banner中只需一句話就可以了
小程序_ThinkPHP_2
測試結(jié)果
小程序_ThinkPHP_2
面向?qū)ο缶幊滩坏a少而且可復(fù)用性強,需要好好掌握。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI