模型实例化——当定义了模型之后,需要在操作中将模型实例化才能具体实现模型中的业务逻辑。
不同的数据业务规则会有不同的模型定义,而在实例化模型的时候也可能不同。
ThinkPHP支持如下几种实例化模型:实例化基础模型类实例化其他模型类实例化用户自定义模型类实例化空模型类
模型本质上是一个实例类,该类封装了操作数据库的常见方法,模型一旦被实例化,意味着开始链接数据库。ThinkPHP不强制自定义模型与数据表进行映射,开发人员完全可以当成一个普通的类文件来使用,所以使用new方式也是没任何问题的。为了简单操作,ThinkPHP还提供了3种方式快速实例化模型,如下所示
● new Model(‘数据表名’),使用传统的new方式实例化Model基类,该类封装了操作数据库的常见方法。需要注意的是new方式不能实例化自定义模型。
● M(name=‘’,class=‘Model’),快捷函数实例化模型。参数name表示数据表名称,class表示自定模型类。M函数可以在初始化数据表后再实例化一个自定义的模型类。
M函数可以方便地进行数据库操作。利用自定义模型能够实现更复杂的数据库操作。M函数的第1个参数表示数据表名,不能为空;第2个参数为自定义模型,如果载入自定义模型,该模型类必须位于当前项目。
在实际应用开发中经常需要初始化一些全局接口。例如网站的会员系统,在访客进入会员系统前一般都需要判断该用户的权限、级别,以便于系统分配相应的功能;再比如一些第三方扩展类,在调用自定模型之前都需要初始化。