php模型和控制器之间交互

学习使用的是Tp5.1

在看别人代码的时候想很多关于数据库的操作之间写到控制器里面了;

public function save(){
    $data = input('post');
    $validate = $this->validate($data,"app\\common\\TestValidate");
    
    $result = (new UserModel)->save($data);    
    if($result){        return $this->success('操作成功');
    }else{        return $this->success('操作失败');
    }
}

但是有人说这样就没必要用模型,可以将写入数据的方法写到model里面

但是写在model中在控制器调用的时候如何判断是否写入成功呢?
还有就是将数据验证是应该写在控制器还是模型??

比如用户注册 前端提交->控制器接收请求->模型
这之中的数据验证写到控制器还是模型

如果写到控制器没什么疑问,但是如果写到模型

模型中验证失败返回false 咋样返回错误信息呢? 难道说模型中返回一个数组['status'=>0,'msg'=>'手机号码已经被注册'];

之后由控制器接收模型返回的该数组 判断返回的status吗?

还有顺便问问服务层和逻辑层该如何运用??

问题有点多,希望大家告知下,多谢!


皈依舞
浏览 388回答 3
3回答

一只名叫tom的猫

1.MVC了解一下!逻辑控制写在控制器,数据处理写在model里。2.控制器调用model中的方法,model的方法执行成功或者失败返回布尔值,然后控制器根据布尔值来判断执行的结果。3.答案1

料青山看我应如是

你看到的应该是很多普遍存在的一种形式,或者说是使用某种框架然后偏离了我们的初衷!首先对于编程设计思想MVC来说,我们已经将前后端分离了,那么我们也继续在后端将控制器和模型处理也分离,那么我们的数据处理确实应该写在model里面,控制器只是负责调度
打开App,查看更多内容
随时随地看视频慕课网APP