thinkPHP中M()和D()的区别
来源:互联网 发布:数据分析平台 编辑:程序博客网 时间:2024/04/20 07:45
- 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法。通俗一点说:M实例化参数是数据库的表名。D实例化的是你自己在Model文件夹下面建立的模型文件
- 例如:$user = new UserModel();
- 等价于$user = D('user');
- 如果实例化的是一个空模型
- 例如 $Demo = new Model();
- 那么它等价于 $Demo = M();
- D和M的区别主要在于:M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现而D方法必须有创建模型类。我们可以用下面两种方法去创建一个数据表的映射对象第一种:$Test = D('Test')第二种:$Test = new Model('Test')虽然这两种都可以对数据进行select,insert,delete,udpate操作,在数据验证上有很大的不同,用第一种方式实例一个模型就会有数据检查功能,如果 title 没有填写的话就会提示 “请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的model中定义好验证条件);如果用第二种就没有了·····还有1个区别就是当用了$trueTableName后,必须用$test=d('test'),表示查询的是test表,如果用的是$test=m('test'),那么都表示查询的数据边是think_test。thinkphp2.0版本测试有如此上面的问题-----------------------------------------------------------------------------------------------通俗点说:D就是实例化一个基于Model文件的Model。M则是通过直接实例化Model方法(ThinkPHP基类)来动态的实例化一个Model对象,即使这个对应的Model文件不存在====================================== ======================================A快速实例化Action类库B执行行为类C配置参数存取方法D快速实例化Model类库F快速简单文本数据存取方法L 语言参数存取方法M快速高性能实例化模型R快速远程调用Action类方法S快速缓存存取方法U URL动态生成和重定向方法W 快速Widget输出方法 D函数实例化的是你当前项目的Lib/Model下面的模块。如果该模块不存在的话,直接返回实例化Model的对象(意义就与M()函数相同)。而M只返回,实例化Model的对象。它的$name参数作为数据库的表名来处理对数据库的操作。
- 文章来源:http://www.thinkphp.cn/topic/46475.html
阅读全文
0 0
- ThinkPhp中M和D的区别
- ThinkPhp中M和D的区别
- thinkPHP中M()和D()的区别
- thinkPHP中M()和D()的区别
- ThinkPHP框架中快捷键M和D的区别
- ThinkPHP框架中快捷键M和D的区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP中D()和M()函数的区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP中实例化对象M()和D()的区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP中实例化对象M()和D()的区别
- ThinkPHP中实例化对象M()和D()的区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP框架中快捷方法M和D的区别
- Android Studio 中如何引入ButterKnife插件
- 第19章 横看成岭侧成峰——深度测试与Z缓存
- Access denied for user 'root'@'localhost' (using password:YES) 解决方案
- Android8.0 Oreo新特性
- Volley框架上传文件TimeoutError问题
- thinkPHP中M()和D()的区别
- ORA-00937: 不是单组分组函数
- 1008. 数组元素循环右移问题 (20)
- 微服务拆分需要考虑的必要因素与坚持原则
- Linux在启动Tmocat时,报权限不够
- Json序列化和反序列化的简单封装
- 被低估的 Babel
- 发票
- 【centos 7】添加路由和永久静态路由