我们最近发现了这种奇怪的 PHP 行为。在父类中访问 private 不应该工作。这是一个功能吗?也许有人可以解释一下。
// PHP classes
class Father {
// private property
private $value = 'test';
}
Class Child extends Father {
// Should fail, se
public function setValue() {
$this->value = 'why does';
}
public function getValue() {
return $this->value;
}
}
$c = new Child();
// should fail!
$c->setValue();
echo $c->getValue() . "|";
// should fail!!!!!!!
$c->value = "it work?";
echo $c->getValue();
// output: why does|it work?
最佳答案
你不是在改变父亲的私有(private)属性(property),而是为 child 引入一个新的属性(property) value
。
关于php - 为什么我可以访问父 php 类中的私有(private)属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13614214/