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
  • 热门搜索
    波尔谛奇鞋子怎么样 打印机墨水怎么加 嗜睡是怎么回事 河北农业大学怎么样 有红血丝怎么办 怎么游泳 cad怎么设置图形界限 怎么把视频旋转 得了阴道炎怎么办 拳皇97大蛇怎么调