在ThinkPHP中,能够无需进行任何模型定义。只有在须要封装单独的业务逻辑的时候,模型类才是必须被定义的,所以ThinkPHP在模型上有不少的灵活和方便性,让你无需由于表太多而烦恼。 根据不一样的模型定义,咱们有几种实例化模型的方法,下面来分析下什么状况下用什么方法:php
一、实例化基础模型(Model) 类 在没有定义任何模型的时候,咱们可使用下面的方法实例化一个模型类来进行操做:spa
这种方法最简单高效,由于不须要定义任何的模型类,因此支持跨项目调用。缺点也是由于没有自定义的模型类,所以没法写入相关的业务逻辑,只能完成基本的CURD操做。继承
二、实例化用户自定义模型(×××Model)类 这种状况是使用的最多的,一个项目不可避免的须要定义自身的业务逻辑实现,就须要针对每一个数据表定义一个模型类,例如UserModel 、InfoModel等等。 定义的模型类一般都是放到项目的Lib\Model目录下面。例如,get
其实模型类还能够继承一个用户自定义的公共模型类,而不是只能继承Model类。 要实例化自定义模型类,可使用下面的方式:io
D方法能够自动检测模型类,若是存在自定义的模型类,则实例化自定义模型类,若是不存在,则会实例化Model基类,同时对于已实例化过的模型,不会重复去实例化。 D方法还能够支持跨项目和分组调用,须要使用:function