另外,如果你喜欢,还可以在BaseActiveQuery加上另外两个常用的方法,用来转化为数组:
public function get() { return $this->asArray()->all(); } public function first() { return $this->asArray()->one(); }BaseActiveRecord和BaseActiveQuery都可以放在自己的一个公共目录下,例如
common/base/BaseActiveRecord.php common/base/BaseActiveQuery.php 使用实现了前面几步,我们就可以愉快的玩耍了。
Scope方法可以作为静态方法被AR调用,也可以作为非静态方法被AQ调用,同时支持链式操作,灵活性非常大。
这样的查询是不是更清晰,更友好?
进一步优化PHP是世界上最好的语言——这句话一直争议不断,然而PHPStorm是PHP最好的编辑器却似乎越来越没有争议。因此为了PHPStorm能更好的追踪代码,还需要做小小的优化。
在AR(如Student)头部DOC部分添加:
恭喜Yii2进一步向面向对象化又迈出了坚实的一小步!