Yii2.0学习第27课:AR的生命周期之查询数据

 时间:2026-02-16 02:32:22

1、既然我们的标题是“查询数据”我们先创建一个查询,关于查询的操作可参考官网:

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

2、AR继承了yii\db\ActiveRecord,我们应该找到这个文件:

@vendor/yiisoft/yii2/db/ActiveRecord.php

Yii2.0学习第27课:AR的生命周期之查询数据

3、打开@app/models/UserMember.php,我们在该AR中重构构造函数:

public function __construct(){}

更具IDE的代码追踪功能,我们可以知道,该构造函数的父类是谁:

Yii2.0学习第27课:AR的生命周期之查询数据

4、然后我们顺藤摸瓜发现以下信息:

(1)class UserMember extends \yii\db\ActiveRecord

(2)class ActiveRecord extends BaseActiveRecord

(3)abstract class BaseActiveRecord extends Model implements ActiveRecordInterface

(4)class Model extends Component implements IteratorAggregate, ArrayAccess, Arrayable

(5)class Component extends Object

(6)class Object implements Configurable

而Object类中,确实有构造函数。

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

5、同理我们可以追踪到“init()”及“afterFind()”覆盖的方法:

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

6、接下来我们分别看一下,系统对这三种过程的解释:

(1)__construct

(2)init()

(3)afterFind()

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

Yii2.0学习第27课:AR的生命周期之查询数据

  • Yii2.0学习第21课:渲染视图
  • Yii2.0学习第15课:控制器之动作参数
  • Yii2.0学习第16课:模型(Models)之标签的学习
  • Yii2.0学习第19课:数据库字段映射
  • Yii2.0学习第24课:使用数据块创建TDK
  • 热门搜索
    马尔代夫旅游报价 驴妈妈旅游团购 夏天旅游 云南旅游报价 台湾旅游景点 郴州旅游景点 云南旅游路线 成都旅游攻略景点必去 绍兴旅游景点 北海道旅游