ThinkPHP M()函数和D()函数的区别
来源:互联网 发布:node readfilesync 编辑:程序博客网 时间:2024/05/17 04:09
D方法实例化
上面实例化的时候我们需要传入完整的类名,系统提供了一个快捷方法D用于数据模型的实例化操作。
要实例化自定义模型类,可以使用下面的方式:
<?php//实例化模型$User = D('User');// 相当于 $User = new \Home\Model\UserModel();// 执行具体的数据操作$User->select();
当 \Home\Model\UserModel 类不存在的时候,D函数会尝试实例化公共模块下面的 \Common\Model\UserModel 类。
D方法还可以支持跨模块调用,需要使用:
//实例化Admin模块的User模型D('Admin/User');
M方法实例化模型
D方法实例化模型类的时候通常是实例化某个具体的模型类,如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高。
例如:
// 使用M方法实例化$User = M('User');// 和用法 $User = new \Think\Model('User'); 等效// 执行其他的数据操作$User->select();M方法也可以支持跨库操作,例如:// 使用M方法实例化 操作db_name数据库的ot_user表$User = M('db_name.User','ot_');// 执行其他的数据操作$User->select();M方法的参数和\Think\Model类的参数是一样的,也就是说,我们也可以这样实例化:$New = M('new','think_',$connection);// 等效于 $New = new \Think\Model('new','think_',$connection);
具体的参数含义可以参考前面的介绍。
M方法实例化的时候,默认情况下是直接实例化系统的\Think\Model类,如果我们希望实例化其他的公共模型类的话,可以使用如下方法:
$User = M('\Home\Model\CommonModel:User','think_','db_config');// 相当于 $User = new \Home\Model\CommonModel('User','think_','db_config')
如果你的模型类有自己的业务逻辑,M方法是无法支持的,就算是你已经定义了具体的模型类,M方法实例化的时候是会直接忽略。----------------------------------------------------------
阅读全文
0 0
- 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()的区别
- thinkPHP中M()和D()的区别
- TP框架D函数和M函数的区别
- thinkphp的M()和D()方法的区别
- thinkphp的M()和D()方法的区别
- ThinkPHP框架中快捷键M和D的区别
- ThinkPHP框架中快捷键M和D的区别
- ThinkPHP 中M方法和D方法的具体区别
- ThinkPHP 中M方法和D方法的具体区别
- Java空字符串与null区别
- C++ Web 编程
- 算法笔记 //02_最大间隙问题(线性时间)
- 基础练习 数列排序
- 032 参数方程确定的函数导数
- ThinkPHP M()函数和D()函数的区别
- EasyUI动态加载button按钮
- My first HTML5 game in Construct 2
- 迅雷面试题:深拷贝对象,除了原型上的属性?
- 什么是Rup?什么是xp?什么是敏捷过程?
- android wifi 开发相关资料汇总
- druid连接池的简单使用
- JZOJ 5395. 【NOIP2017提高A组模拟10.6】Count
- 51nod 1287 加农炮(二分/线段树)