连接上数据库后,我们需要从数据库里操作数据,那么就需要实例化模型类。在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()方法。