模型(Model)
模型(Model)是 ThinkPHP 中一个很重要的概念,与之有关的还包括模型的定义与实例化。
MVC 是一种将应用程序的逻辑层和表现层进行分离的方法,ThinkPHP 也是基于MVC设计模式的。ThinkPHP 中模型(M)的定义是由 Model 类来完成的。
ThinkPHP 中基础的模型类就是 Model 类,该类完成了基本的 CURD、ActiveRecord 模式、连贯操作和统计查询等。其他一些高级特性如:
AdvModel:高级模型类,完成一些如 文本字段、只读字段、序列化字段、乐观锁、多数据库连接 等模型的高级特性
ViewModel:视图模型类,完成了模型的视图操作
RelationModel:关联模型类,完成了模型的关联操作
定义模型
基础模型类 Model 的设计非常灵活,无需进行任何模型定义,就可以进行相关数据表的 ORM 和 CURD 操作。如果需要封装单独的业务逻辑的,就必须定义模型。
定义的模型类文件放在项目 Lib/Model 目录下,由系统自动加载。如我们定义对 user 表的操作,文件名为 UserModel.class.php ,其模型定义为:
class UserModel extends Model{
// 一些业务逻辑……
}
在模块的操作中,可以实例化一个定义的模型,从而实现对应的业务逻辑和对数据库表的操作。