【发布时间】:2017-06-08 10:56:28
【问题描述】:
为什么print_r 可以看到私有属性$version,即使它的范围设置为private?
class myClass {
private $version;
public function set_version($value){
$this->version = $value;
}
}
$class = new myClass();
$class->set_version("1.2");
echo "<pre>";
print_r($class);
【问题讨论】:
-
private对象属性主要在类继承的上下文中,并且仅限于内部范围。 -
不要假设
private意味着“安全”。它只是该属性应该如何使用的一个指标,它不提供任何实际的“安全性”或事实上的“真正的隐私”。 -
@deceze Private 意味着它只有在特定类中才能读取和更新 var 或函数的值。这就是为什么我想知道 print_r 怎么还能看到它