资讯专栏INFORMATION COLUMN

ThinkPHP 中M方法和D方法的具体区别

Miyang / 595人阅读

摘要:方法和方法的区别中方法和方法都用于实例化一个模型类,方法用于高效实例化一个基础模型类,而方法用于实例化一个用户定义模型类。以上是对方法和方法区别的一些总结,方法和方法要根据实际情况来具体选择。

M方法和D方法的区别

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

使用M方法

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

对数据表进行简单的 CURD 操作而无复杂的业务逻辑时
只有个别的表有较为复杂的业务逻辑时,将 M方法 与实例化 CommonModel 类进行结合使用
M方法 甚至可以简单看着就是对参数表名对应的数据表的操作:

$User = M("User"); 
使用D方法

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

需要使用 ThinkPHP 模型中一些高级功能如自动验证功能(create()方法中实现)、关联模型等
业务逻辑比较复杂,且涉及的表众多
将业务逻辑定义在了自定义的模型类里面(Lib/Model目录下),而想在操作中实现这些业务逻辑
另外 D方法 不支持跨项目调用,需要使用:

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

提示:
启用了项目分组后,Model 类并不必然对应着项目分组。多个项目组之间共有的模型类,统一放在 Model 目录下,可以直接使用D("ModelName") 实例化。而 D("User.UserInfo") 并不表示 User 一定是一个项目分组,也可以仅仅是对 Model 下文件的一个分类目录,D("User.UserInfo") 实例化的是 User 目录下的 UserInfo 模型类。

总结

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

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

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

原文链接:http://blog.163.com/litianyichuanqi@126/blog/static/115979441201223043452383/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21120.html

相关文章

  • m>ThinkPHPm>用PHPExcle导出Excel文件

    摘要:本篇文章主要讲述,如何在中使用中导出文件,是博主在实践了好多篇别人的帖子之后,总结归纳出来的文章,亲测可用。我的博客欢迎骚扰原文地址用导出文件。将文件,重命名成。文章结束,欢迎转载。 本篇文章主要讲述,如何在thinkPHP中使用PHPExcel中导出Excel文件,是博主在实践了好多篇别人的帖子之后,总结归纳出来的文章,亲测可用。thinkPHP版本是3.2。 我的博客:Mine-...

    rollback 评论0 收藏0
  • PHP_m>ThinkPHPm>

    摘要:相关信息,面向过程,面向对象,轻量级。轻量级功能实用,面向过程和面向对象混合开发。找到文件为文件名为验证码类没有在自动加载类中载入,需要手动载入。底层的和会影响原始的框架中的引入,可以使用框架中提供的引入。 不使用框架的问题 在实际工作中,如果不使用框架会遇到的问题。 程序项目生命时间非常短(维护性,生命力弱) 分共协作开发项目,彼此代码风格不一致。 开发程序,喜欢挖坑。 开发者离职...

    wind3110991 评论0 收藏0
  • 一步步实现m>thinkphpm>上ajax无刷新分页

    摘要:信息列表循环赋值分页信息部分这一步是实现无刷新分页的重点,用到了的通信,通过与数据库的交互,将获取到的数据写到模板中,替换掉之前的数据集,达到分页的目的。 前言 thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻页只刷新我们想要的数据集部分的数据,这样我们很容易想到ajax异步通信,用ajax与数据库(本人在开发过程中使用...

    张迁 评论0 收藏0
  • m>thinkphpm>实现短信验证注册

    摘要:前言注册时经常需要用到短信验证码,本文记录一下思路和具体实现。短信验证平台使用云片,短信验证码的生成使用。云片发送短信验证码到指定手机号。用户输入短信验证码。 前言 注册时经常需要用到短信验证码,本文记录一下思路和具体实现。短信验证平台使用云片,短信验证码的生成使用thinkphp。 思路 1、用户输入手机号,请求获取短信验证码。2、thinkphp生成短信验证码,存储,同时和其他参数...

    stackfing 评论0 收藏0
  • 从零开始搭建hexo静态博客

    摘要:后来网上看到了很多和搭建的静态博客,由于编辑器的实用性,及,等代码托管平台的免费特点,让很多人都转向了和。于是我也花了两三天的时间来研究搭建了自己的博客。 以前的博客(blog.duweibin.cn)是在学习thinkphp的时候自己做的一个小项目,模板也是网上找的,后台是自己用thinkphp框架写的,上一个博客搭建过程中让自己学会了thinkphp对MVC操作,(M层还没具体用过...

    venmos 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<