小程序_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传参数法
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中只需一句话就可以了
测试结果
面向对象编程不但代码少而且可复用性强,需要好好掌握。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:小程序_ThinkPHP_2-创新互联
标题URL:http://pwwzsj.com/article/dgppes.html