温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

小程序_ThinkPHP_2

发布时间:2020-04-08 00:28:43 来源:网络 阅读:572 作者:sejungnet 栏目:软件技术

构建验证层


小程序_ThinkPHP_2
小程序_ThinkPHP_2
下载一个tp5的框架文件解压到xampp\htdocs下改名zerg(服务端)然后用PhpStorm新建一个项目打开zerg目录在application目录下新建一个api文件夹模块然后新建一个controller文件夹,controller下新建v1文件夹,然后新建一个Banner.php(Controller层),里面新建一个方法getBanner(Action动作):
class Banner
{
public function getBanner(){
}
}


1.直白方式验证:
(1)TP5传参数法
小程序_ThinkPHP_2
public function getBanner($id){
$data = [
'id' => $id,
];

    $validate = new Validate([
        'id' => 'require|max:2'  //表示id参数为必须长度不能超过2个字符
    ]);

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

}
测试结果如下:
小程序_ThinkPHP_2


(2)利用Request获取所有参数的方法:
小程序_ThinkPHP_2
结果一样:
小程序_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.面向对象的方式验证:
方式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 . '必须是正整数';
    }
}

小程序_ThinkPHP_2
结果如下:
小程序_ThinkPHP_2

方式2(最终版)
在validate下新建一个BaseValidate.php文件(控制器)同Validate继承,添加一个自定义方法goCheck();
小程序_ThinkPHP_2
然后让isMusBePositiveInt同Validate继承
小程序_ThinkPHP_2
然后在Banner中只需一句话就可以了
小程序_ThinkPHP_2
测试结果
小程序_ThinkPHP_2
面向对象编程不但代码少而且可复用性强,需要好好掌握。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI