专栏首页Tech爬虫(公众号php_pachong)M方法与D方法有什么区别

M方法与D方法有什么区别

ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类。

使用M方法

如果是如下情况,请考虑使用 M方法:

对数据表进行简单的 CURD 操作而无复杂的业务逻辑时

只有个别的表有较为复杂的业务逻辑时,将 M方法 与实例化 CommonModel 类进行结合使用

M方法 甚至可以简单看着就是对参数表名对应的数据表的操作:

$User = M('User');

使用D方法

如果是如下情况,请考虑使用 D方法:

需要使用 ThinkPHP 模型中一些高级功能如自动验证功能(create()方法中实现)、关联模型等

业务逻辑比较复杂,且涉及的表众多

将业务逻辑定义在了自定义的模型类里面(Lib/Model目录下),而想在操作中实现这些业务逻辑

另外 D方法 不支持跨项目调用,需要使用:

$User = D('User', 'Admin'); // 实例化 Admin 项目下面的 User 模型 $User = D('Admin.User'); // 启用了项目分组

总结

M方法 和 D方法 都可以在模型类文件不存在的情况下直接使用的,但显然 M方法 更高效;但要使用模型类里面业务逻辑,就必须使用 D方法。

一个比较形象的比喻就是:M方法 就如一台刚装好操作系统的电脑,只能使用一些基本功能;而 D方法 就如在装好的系统上再安装了一些如 Office、QQ 等应用软件,功能更加强大,同时整个电脑运行速度也变慢了。

以上是对 M方法和D方法区别的一些总结,M方法 和 D方法 要根据实际情况来具体选择。

本文分享自微信公众号 - Tech爬虫(php_pachong),作者:爬虫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP实现四种基本排序算法

    前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序。 $arr(1,43,54,62,21,66,32,78,...

    公众号php_pachong
  • URL操作

    一.URL 大小写 系统默认的规范是根据 URL 里面的模块名、控制器名来定位到具体的控制器类。比如: http://localhost/demo39/inde...

    公众号php_pachong
  • 项目经理实践-1

    最终项目在精神上得靠自己,但物质上又不能只靠自己。 1,项目不是私人的事情,一定要把过程公开化。一定不要把任务和责任都扛在自己身上。 2,不要想着靠感情和关系维...

    公众号php_pachong
  • 【案例】大型持牌消费金融公司——智能风控体系构建

    数据猿导读 整个金融业态正在技术、资本和市场的共同作用下发生数字化重构。面对剧烈变化的市场竞争格局和趋严的监管政策,金融机构纷纷通过引入先进技术强化其核心竞争力...

    数据猿
  • 网智天元副总裁刘喆:大数据智能提速汽车消费金融

    数据猿报道,2017年10月25日,由 数据猿 联合《清华金融评论》共同主办的“2017金融科技价值峰会——数据驱动金融商业裂变”在北京隆重召开。本文为数据猿现...

    数据猿
  • 彩蛋变炸弹,圣诞节变成中国前端程序员的圣诞“劫”

    很多技术开发群里,在技术论坛以及 GitHub 社区都炸天了,彩蛋变成了炸弹,圣诞节变成了圣诞劫。原因很简单,阿里巴巴蚂蚁金服旗下的开源项目 Ant Desig...

    非著名程序员
  • 从零开始一起学习SLAM | 为什么要用齐次坐标?

    在涉及到计算机视觉的几何问题中,我们经常看到齐次坐标这个术语。本文介绍一下究竟为什么要用齐次坐标?使用齐次坐标到底有什么好处?

    用户1150922
  • RunTime 之Method Swizzling

    有关Runtime的知识总结,我本来想集中写成一篇文章的,但是最后发现实在是太长,而且不利于阅读,最后分成了如下几篇:

    進无尽
  • 如何比较一个List对象Java 7 vs Java 8

    程序你好
  • 4300 字Python列表使用总结,用心!

    即从列表最后一个元素往前访问,此时索引依次被标记为-1,-2,...,-5 ,注意从-1开始。

    double

扫码关注云+社区

领取腾讯云代金券