It doesn’t seem to work:
$ref = new ReflectionObject($obj); if($ref->hasProperty('privateProperty')){ print_r($ref->getProperty('privateProperty')); }
It gets into the IF loop, and then throws an error:
Property privateProperty does not exist
😐
$ref = new ReflectionProperty($obj, 'privateProperty')
doesn’t work either…
The documentation page lists a few constants, including IS_PRIVATE
. How can I ever use that if I can’t access a private property lol?
Advertisement
Answer
class A { private $b = 'c'; } $obj = new A(); $r = new ReflectionObject($obj); $p = $r->getProperty('b'); $p->setAccessible(true); // <--- you set the property to public before you read the value var_dump($p->getValue($obj));