模型实例化的M与D方法的区别

时间:2021-04-12 09:22:59

D方法实例化

D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会实例化系统的\Think\Model基类,同时对于已实例化过的模型,不会重复去实例化。

  1. D方法还可以支持跨模块调用,需要使用:
  2. //实例化Admin模块的User模型
  3. D('Admin/User');
  4. //实例化Extend扩展命名空间下的Info模型
  5. D('Extend://Editor/Info'

M方法实例化模型

D方法实例化模型类的时候通常是实例化某个具体的模型类,如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高。


对于自己写有方法的模型,需要使用D方法才能实例化。因为M方法只能调用Model.class.php中的方法。