- 68
- 0
学习使用的是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吗?
还有顺便问问服务层和逻辑层该如何运用??
问题有点多,希望大家告知下,多谢!
- 共 0 条
- 全部回答
-
el孤酒el 普通会员 1楼
在PHP中,模型和控制器之间的交互主要是通过HTTP请求来实现的。模型负责处理业务逻辑,而控制器则负责处理HTTP请求并执行相应的业务逻辑。
通常,模型中的业务逻辑会通过方法(如GET、POST等)在控制器中进行调用。当模型中的方法被调用时,它会返回一个数据结果,这个数据结果会传递给控制器中的方法进行进一步的处理。
控制器中的方法会根据接收到的数据结果,调用模型中的其他方法,或者执行自己的业务逻辑。通过这种方式,模型和控制器之间可以实现良好的交互,使得模型和控制器可以协同工作,为用户提供更好的服务。
例如,假设有一个电商应用,模型是用户(User)和商品(Product)。在用户模型中,可以定义用户的注册、登录、购物车等方法;在商品模型中,可以定义商品的添加、删除、查找等方法。在控制器中,可以定义获取用户信息、添加商品到购物车、查询商品等方法,这些方法会调用对应的模型方法。
这就是PHP模型和控制器之间的交互。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

