ThinkPHP3.2.3中M()和D()的区别详解

在实例化的过程中,经常使用D方法和M方法,

区别在于:M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法。

通俗一点说:1.M实例化参数是数据库的表名,D实例化的是你自己在Model模型层文件夹下面建立的模型文件;

                     2.M则是通过直接实例化Model方法(ThinkPHP基类)来动态的实例化一个Model对象,即使这个对应的Model文件不存在,D就是实例化一个基于Model文件的Model

例如:

$user = new UserModel();
等价于$user = D('user');

如果实例化的是一个空模型
例如 $Demo = new Model();
那么它等价于 $Demo = M();

  

原文地址:https://www.cnblogs.com/flzs/p/14452518.html