【发布时间】:2021-02-01 21:26:48
【问题描述】:
我有一个模型类 A 和一个子类 B。
class A extends \yii\base\Model {
public $a1,$a2;
}
class B extends A {
public $b1,$b2;
}
$o = new B();
如何将$o 的属性值作为数组获取,但仅来自class B,而不是来自class A?
当调用$o->attributes 我得到['a1'=>..., 'a2'=>...,'b1'=>..., 'b2'=>...]
我的预期结果是['b1'=>..., 'b2'=>...]。
是否有 Yii2 的做法,或者我们是否必须使用一些 PHP 函数/语言特性?
【问题讨论】:
-
不要扩展
A? -
这是大型代码库的一部分...
-
创建一个函数,只返回B类的属性