我正在寻找一种方法来实现以下结果。我很容易使用这个类,它是实现它的方法。
final class Trade {
private $users_id;
private $adj_id;
public function display() {
var_dump($this);
}
public function setData($form_results) {
foreach ($form_results as $var => $value) {
$this->{$var} = $value;
}
}
public function getData() {
return get_object_vars($this);
}
}
问题是在类方法中调用get_object_vars()
。正如预期的那样,它会忽略我设置的私有变量,并返回由于其范围而包含公共和私有的所有类变量的数组。
我试图让方法只返回公共匿名变量。有没有办法可以做到这一点?
答案 0 :(得分:2)
尝试使用
foreach($this as $key => $value) {
print "$key => $value\n";
}
答案 1 :(得分:0)
为什么不将所有数据保存到某个私有变量并返回?
如果您的对象必须包含数据作为其属性,则可以使用__get
和__set
来读取和设置该数组中的项目,而在外部它看起来就像是属性。< / p>