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();

 

posted @ 2018-05-03 14:47  申文哲  阅读(8377)  评论(0编辑  收藏  举报