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

 时间:2026-04-22 16:36:13

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
  • 热门搜索
    广西民族大学怎么样 赛菲尔黄金怎么样 傲然的近义词 怎么换ip 怎么用烤箱做蛋糕 顿号怎么输入 青春痘怎么治 蹒跚的近义词 独特的近义词是什么 肠胃型感冒