账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    php模型和控制器之间交互
    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
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • el孤酒el 普通会员 1楼

      在PHP中,模型和控制器之间的交互主要是通过HTTP请求来实现的。模型负责处理业务逻辑,而控制器则负责处理HTTP请求并执行相应的业务逻辑。

      通常,模型中的业务逻辑会通过方法(如GET、POST等)在控制器中进行调用。当模型中的方法被调用时,它会返回一个数据结果,这个数据结果会传递给控制器中的方法进行进一步的处理。

      控制器中的方法会根据接收到的数据结果,调用模型中的其他方法,或者执行自己的业务逻辑。通过这种方式,模型和控制器之间可以实现良好的交互,使得模型和控制器可以协同工作,为用户提供更好的服务。

      例如,假设有一个电商应用,模型是用户(User)和商品(Product)。在用户模型中,可以定义用户的注册、登录、购物车等方法;在商品模型中,可以定义商品的添加、删除、查找等方法。在控制器中,可以定义获取用户信息、添加商品到购物车、查询商品等方法,这些方法会调用对应的模型方法。

      这就是PHP模型和控制器之间的交互。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部