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

2025-04-06 06:58:40

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的生命周期之查询数据
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢