thinkPHP中连接数据库实例化方法D()和M()的区别

连接上数据库后,我们需要从数据库里操作数据,那么就需要实例化模型类。在ThinkPHP 中,提供了Model 基类处理,也可以使用M()方法。

格式如下:

1、

$user = new Model('User');     实例化Model类,传一个数据表名

var_dump($user);   显示变量结构

2、

$user = M('User');   使用Model基类(法1)要导入命名空间,使用M()方法不需要

3、

使用Usermodel

这种模型类必须定义

例如:

//User模型类  eg.UserModel.class.php文件
namespace Home\Model;
use Think\Model;
class UserModel extends Model {}
创建了UserModel 模型类后,控制器那头就可以直接声明。
//UserController.class.php
$user = new UserModel();
var_dump($user->select());

注意:  UserModel 模型类没有指定任何表即可直接访问。因为这种模型类基本是直
接操作数据表的,所以在命名规范上和数据表名是对应的。

模型类与数据表对应规范

模型名 对应的数据表(假设前缀是think_)
UserModel think_user
UserTypeModel think_user_type

D()方法是对应于使用了具体的模型类

格式为$user = D('User');     //实例化UserModel类
注意:使用D()方法比直接使用模型类更加的智能,如果在\Home\Model\UserModel 找
不到该模型类,那么就会去公共模块下找\Common\Model\UserModel 去找。如果还找不到,
就会直接实例化基类Model()类,也就是等同于使用M()方法。

猜你喜欢

转载自zhxie.iteye.com/blog/2313124
今日推荐