class test1{public function __construct(){var_dump($this);$this->a =123;}}class test2 extends test1{private $a =null;public function __construct(){parent::__construct();// $this->a =123;}}$obj = new test2();
当使用parent来调用父类方法,进行访问子类的私有类型时,会报以上的错误。
但是,查看当前的对象指向了子类,按规则在内部可以访问私有属性。
class test1{
public function __construct(){
var_dump($this);
// $this->a =123;
}
}
class test2 extends test1{
private $a =null;
public function __construct(){
parent::__construct();
$this->a =123;
}
}
$obj = new test2();
直接在当前子类下访问私有属性不会报错。
突然发现了该问题,运行的php版本是7.2,还希望大神指点迷津。