Yii学习第26课:AR的生命周期之实例化

 时间:2026-02-15 20:32:42

1、AR(Active Record),中文解释要“活动记录”,“一个 AR 类关联一张数据表,每个 AR 对象对应表中的一行”。

Yii学习第26课:AR的生命周期之实例化

2、以默认首页(@app/controllers/SiteController.php)为例,实例化contactForm类:

$object = new ContactForm();

我们在这里使用的ContactForm 继承的并非是“yii\db\ActiveRecord ”,而是“Model”但是我们还知道“Model 类也是更多高级模型如Active Record 活动记录的基类”,所以使用Model来查看RA的生命周期,效果是一样的。(其实是我有点懒,想用系统默认的代码,所以没有写,但是还是写了这么些文字来解释,呵呵)

Yii学习第26课:AR的生命周期之实例化

3、打开@app/models/ContactForm.php,重构代码:

(1)public function __contruct(){}

(2)public function _init(){}

分别再“构造函数”和“init方法”中输入标记性代码:

Yii学习第26课:AR的生命周期之实例化

4、重新访问默认首页,查看效果会发现实例化的生命周期流程是:

(1)先调用构造函数;

(2)在执行init()方法。

Yii学习第26课:AR的生命周期之实例化

5、我们在追踪基类中“构造函数”的调用过程中,发现该构造函数会执行init()方法。所以假如我们修改__contruct()如下,会得到截然相反的结果:

public function __contruct(){

parent::__contruct();

echo 'step:1';

}

Yii学习第26课:AR的生命周期之实例化

Yii学习第26课:AR的生命周期之实例化

Yii学习第26课:AR的生命周期之实例化

  • Yii2.0学习第27课:AR的生命周期之查询数据
  • yii如何创建应用
  • 如何安装Yii框架
  • Yii系列总结:[3]yii 标签用法
  • Yii::app()的理解
  • 热门搜索
    我的世界怎么私聊 德州旅游 三亚景区 陕西旅游景点大全介绍 孕妇可以吃龙眼吗 金庸群侠传3少林攻略 盈通显卡怎么样 孕妇可以吃杏仁 铃木北斗星怎么样 肚脐眼可以洗吗