php - mvc模式中的model的作用的疑问

 mobiledu2502861463 发布于 2022-11-13 05:32

mvc中的m(model)代表模型,主要用来操作数据,那么对数据进行简单处理到底应该在C层还是在M层呢。

$sql = "SELECT id, name FROM test_table"
$result = $conn->query($sql);
$data = $result->getAll();

在上述代码中,假如我需要把data改成以id为键的数组,那么这个操作应该在m层还是在c层呢?

6 个回答
  • 加粗文字请输入代码



    2022-11-13 06:27 回答
  • 肯定在控制器里面操作

    2022-11-13 06:27 回答
  • MVC的核心思想是分离界面(View),逻辑(Controller),数据(Model).
    对于Web应用来说,过程就是C调用M输出V.

    页面控制器:

    /post.php?a=create
    /post.php?a=read&id=1024
    /post.php?a=update&id=1024
    /post.php?a=delete&id=1024

    模型(CRUD):

    function post_create() {}
    function post_read() {}
    function post_update() {}
    function post_delete() {}

    视图:
    /view/post.php

    可见对数据模型post的CRUD操作函数当然还是汇总在/include/funclass.php中好,方便在其他控制器中也能调用.总之就是你觉得你这个操作其他控制器也需要用到,那你就可以考虑封装成函数或者类放到funclass.php里"共享".

    2022-11-13 06:27 回答
  • 其实都行,具体看你的接口需求,不用太纠结!因为这个问题我也问过我老师,我说C层是负责控制页面跳转以及封装请求数据调取接口,而M层是对C层调用接口参数校验以及数据处理返回,那具体是什么业务逻辑放在哪里,其实这都是我们根据自己设计程序的需求去做的

    所以不用太纠结

    2022-11-13 06:27 回答
  • model的出现就是为了把数据层全部控制在model,为什么这样做?

    耦合性降低了、可读性、维护、扩展性都得到了提高。
    

    mvc 的 c 是拿来衔接model和view的

    2022-11-13 06:27 回答
  • 个人观点:M层比较好吧
    你既然用MVC了,就是为了降低耦合程度,提高可扩展性。
    混着写的话不利于以上两个目的。
    当然如果本身项目不大的话,其实也没必要用mvc结构。

    根据你的示例里面的问题,我觉得你可以用closure function 的办法来做,比如model class 里面定义一个dataFormat的方法,然后调用返回数据的时候调用一下,这个dataFormat再使用你传入类的closure function 来处理你这个返回数据,这样比较灵活

    2022-11-13 06:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有