-3
class A
{
private $a;
}
class B extends A
{
function __construct()
{
(new \ReflectionClass($this))->getProperty('a')->setAccessible(true);
unset($this->a); // fatal error
}
}
(new B());
Dies löst einen fatalen Fehler, obwohl ich die ZugänglichkeitIch kann geerbte private Variablen nicht aufheben; sogar mit Reflexion
Statt die Klasse "zu erben", erstellen Sie stattdessen Ihre Klasse, indem Sie die Klasse verwenden, indem Sie sie einfügen und dann die Teile verwenden, die Sie verwenden möchten. Es ist viel einfacher zu pflegen. Vor allem, wenn Sie 'Schnittstellen' verwenden. –