目录

ThinkPHP四种实例化模型的方法

目录

假设数据库中有一个think_user的数据表

普通方式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$user=new Model('user');

$user=M('user');

/*

user的U可以大写,也可以小写,当库中还有一个think_user_message等表的时候,可以使用

new Model('userMessage') 或者new Model(user_message),也就是说大写的首字母相当于带下划线的单词

此方法也可以用快捷方法,M方法

*/

当需要继承多个模型的时候,可以用M(’ ‘,’ ‘)方法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$user=M('user','Common');
$user=new Common('user');

/*

此方法说明$user中既有user中的方法,也可以从自定义的模型中继承方法,比如在Common中写一个常用的方法(公共方法),

这种方法比较便捷的实现了一个变量实例化多个模型,也大大的简便了代码的书写,此方法还可以写成

$user=new Common('user');

*/

D方法

1
2
3
4
5
$user=new UserModel();
$user=D('user');
/*
此种方法可以方便实现用户自定义数据库操作类与方法,用户可以在UserModel.class.php中封装自己定义的方法
*/

通过空模型来实例化

这种方式是通过自定义数据库查询语句来实现查询功能

1
2
$user=new Model();
$list=$user->query('select * from think_user')

总的来说,如果没有继承第三方的类,D与M方法实例出来的是一样的

$user=M(‘user’);

$user=D(‘user’);

而M方法则可以比较方便的继承第三方类(公共类啊等等)

  • 文章标题: ThinkPHP四种实例化模型的方法
  • 本文作者: 杨彦星
  • 本文链接: https://www.yangyanxing.com/article/372.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。