class A
{
private $a;
}
class B extends A
{
function __construct()
{
(new \ReflectionClass($this))->getProperty('a')->setAccessible(true);
unset($this->a); // fatal error
}
}
(new B());
虽然我确实更改了辅助功能
,但会触发致命错误答案 0 :(得分:1)
不,不,你不能。对于$a
的实例,class A
在符号表中仅存在 ,但new B
为您提供了class B
的实例。从您的对象new B
的角度来看,$a
根据定义并不存在:因此unset($this->a)
事实上不可能。