This is an example PHP program that demonstrates how to access private and protected members with reflection.
<?php class CMyTestClass { public function __construct() { $this->mdValue = 10.4; } private $mdValue; private function MyPrivateMethod($sArgument) { echo '<p>You passed in to the private method: '.$sArgument.'</p>'; } static private $sdValue = 92.4; static private function PrivateStaticMethod($sArgument) { echo '<p>Passed in to private static method: '.$sArgument.'</p>'; } } $qReflectionMethod = new ReflectionMethod('CMyTestClass', 'MyPrivateMethod'); $qReflectionMethod->setAccessible(true); $qTestClass = new CMyTestClass(); $qReflectionMethod->invoke($qTestClass, 'Something'); $qReflectionPrivateProp = new ReflectionProperty('CMyTestClass', 'mdValue'); $qReflectionPrivateProp->setAccessible(true); echo '<p>The value of mdValue is '.$qReflectionPrivateProp->getValue($qTestClass).'</p>'; $qStaticReflectionMethod = new ReflectionMethod('CMyTestClass', 'PrivateStaticMethod'); $qStaticReflectionMethod->setAccessible(true); $qStaticReflectionMethod->invoke($qTestClass, 'Something'); $qStaticPrivateProp = new ReflectionProperty('CMyTestClass', 'sdValue'); $qStaticPrivateProp->setAccessible(true); echo '<p>The value of sdValue is '.$qStaticPrivateProp->getValue(CMyTestClass).'</p>'; ?>
© 20072025 XoaX.net LLC. All rights reserved.