2

我们最近发现了这种奇怪的 PHP 行为。访问父类中的私有不应该工作。这是一个功能吗?也许有人可以解释一下。

// 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?
4

1 回答 1

6

你不是在改变父亲的私有财产,而是value为孩子引入一个新的财产。

于 2012-11-28T20:58:17.797 回答