下载一个tp5的框架文件解压到xampp\htdocs下改名zerg(服务端)然后用PhpStorm新建一个项目打开zerg目录在application目录下新建一个api文件夹模块然后新建一个controller文件夹,controller下新建v1文件夹,然后新建一个Banner.php(Controller层),里面新建一个方法getBanner(Action动作):class Banner{public function getBanner(){}}
1.直白方式验证:(1)TP5传参数法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 "成功"; }
}测试结果如下:
(2)利用Request获取所有参数的方法:结果一样:$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 . '必须是正整数'; } }
结果如下:
方式2(最终版)在validate下新建一个BaseValidate.php文件(控制器)同Validate继承,添加一个自定义方法goCheck();然后让isMusBePositiveInt同Validate继承然后在Banner中只需一句话就可以了测试结果面向对象编程不但代码少而且可复用性强,需要好好掌握。