我使用get_object_vars将对象同步到数据库记录。我看到很多方法可以确保私有变量不在返回的数组中。我的问题是,如果我在受保护的函数中执行所有操作并将数组分配给父类中的受保护变量,这甚至是必要的吗?
这是父类:
abstract class Model {
protected $attributes;
public function __construct() {}
protected function setAttributes($obj) {
//private vars here but attributes is protected
$this->attributes = get_object_vars($obj);
}
}
如果我的所有操作都在受保护/私有环境中完成,我是否需要使用如下所示的函数(找到here)?
public function getPublicVars () {
return call_user_func('get_object_vars', $this);
}