自己写的在模型中返回一个数组由控制器根据参数响应给视图,代码如下
1:浏览器post请求控制器;2:控制器实例化用户模型3:模型中接受到全部的数据存入$Data变量4:利用验证器验证数据合法性,如果验证不通过返回status为:0;并且返回msg:错误信息5:模型总save新增数据6:新增成功返回1:提示新增成功 新增失败返回0:表示新增失败:
控制器代码:
//roue:member/index/userAdd
public function userAdd(){
$Result = (实例化会员模型)->add();
//中间可能还有其他操作
return ajaxReturn($Result['status'],$Result['msg']);
}
模型代码
public function add(){
$Data = input('');
$Validate= new UserAddValidate($Data);
if(false === $Result){
//如果严重失败会返回false
//返回状态0,内容为:msg
return ['status',=>0,'msg'=>$Validate->getError()];
}
//执行新增
$res = $this->save($Data);
if($res){
return ['status'=>1,'msg'=>'添加会员成功'];
}else{
return ['status'=>0,'msg'=>'添加会员失败'];
}
}
这个是自己琢磨的 但是感觉好麻烦,每次都要各种的if判断所以我就去看别人的代码,看到一个大神些的利用的是tp5的自定义异常处理类,代码写法如下
控制器代码:
//roue:member/index/userAdd
public function userAdd(){
return (实例化会员模型)->add();
}
模型代码
public function add(){
$Data = input('');
$Validate= new UserAddValidate($Data);
if(false === $Result){
throw new HttpException([
'status' => 0,
'msg' => $Validate->getError();
]);
}
$res = $this->save($Data);
if($res){
throw new HttpException([
'status' => 1,
'msg'= > '添加会员成功',
]);
}else{
throw new HttpException([
'status' => 0,
'msg'= > '添加会员失败',
]);
}
}
HttpException 是TP5里面可以自定义的一个异常处理类 最终结果就是抛出异常,异常中的内容是json后的结果,感觉这种相对来说很好用,但是不知道为什么大多数人的代码都没用用这种呢?或者还有什么更好的办法吗?
以上代码全是在浏览器中手写的,可能会有一点点的误差!
- 3 回答
- 0 关注
- 1259 浏览
添加回答
举报
0/150
提交
取消