在一般php开发中,
D函数与
M函数用的时候作用感觉差不多的,都为实例化模型,实际上区别很大,个人以前认为主观区别只是D函数能够实现比M函数很多复杂的操作,M函数则适合实现一些简单的操作。后面知道个人观点有错误,实际D函数与M函数的区别如以下:假设有以下代码
class
ManageUserModel
extends
Model{
public function
index()
{
cookie(
'mainform_parameter'
,
null
);
$listarray
[
"list"
] =
$this
->ListBind();
$this
->assign(
$listarray
);
//
赋值数据集
$this
->assign(
$this
->PowerBind());
//
绑定权限
$array
[
"html"
] =
$this
->fetch(
"content"
);
$this
->assign(
$array
);
$this
->display(
"Public:page"
);
}
}
使用M函数实例化M("ManageUserModel")的作用相当于实例化Model模型类,而使用D函数实例化D("ManageUserModel")的作用相当于实例化ManageUserModel这个模型类,因为实例化模型的不同,D函数可以调用ManageUserModel里的方法,但是M函数不能调用ManageUserModel里的方法,所以实际操作时D函数能够实现ManageUserModel本模型较复杂的操作,而M函数就只能实现一些较为简单的操作。
附上:菜鸟教程所说明的两者区别,如图:
个人总结:在使用一些比较复杂的操作时,使用D函数;M函数则在使用一些简单的操作时使用。注重两者实例化模型的区别。