Re: Private properties, Inheritance, Reflection (5.3)

From: Date: Fri, 03 Apr 2009 23:53:16 +0000
Subject: Re: Private properties, Inheritance, Reflection (5.3)
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-43619@lists.php.net to get a copy of this message
On Fri, 2009-04-03 at 22:37 +0200, Roman Borschel wrote: > Given the following simple classes > > class Foo { > private $foo = 'value'; > public function getFoo() { return $this->foo; } > } > class Bar extends Foo {} > > Obviously, given an instance of Bar, say $bar, $bar->getFoo() returns > 'value'. > > Now the question: How do I get at this value using reflection, given > an instance of Bar? class Foo { private $foo = "value"; } class Bar extends Foo {} $f = new Foo; // we have to know the context, as there might be multiple foo properties $r = new ReflectionProperty("Foo", "foo"); $r->setAccessible(true); var_dump($r->getValue($f)); works for me. johannes

« previous php.internals (#43619) next »