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