一、模型类可以使用静态调用或者实例化调用两种方式,例如:
// 静态调用 $user = User::get(1); $user->name = 'thinkphp'; $user->save(); // 实例化模型 $user = new User; $user->name= 'thinkphp'; $user->save(); // 使用 Loader 类实例化(单例) $user = Loader::model('User'); // 或者使用助手函数`model` $user = model('User'); $user->name= 'thinkphp'; $user->save();
二、模型初始化
1、模型同样支持初始化,与控制器的初始化不同的是,模型的初始化是重写Model
的initialize
,具体如下
namespace appindexmodel; use thinkModel; class Index extends Model { //自定义初始化 protected function initialize() { //需要调用`Model`的`initialize`方法 parent::initialize(); //TODO:自定义的初始化 } }
2、同样也可以使用静态init
方法,需要注意的是init
只在第一次实例化的时候执行,并且方法内需要注意静态调用的规范,具体如下
namespace appindexmodel; use thinkModel; class Index extends Model { //自定义初始化 protected static function init() { //TODO:自定义的初始化 } }