A simple way of interrogating private methods and properties via overloading.
composer require best-served-cold/reflection
Take this class:
class ExampleClass
{
protected $protectedProperty = 1;
protected static $protectedStaticProperty = 2;
private $privateProperty = 3;
private static $privateStaticProperty = 4;
protected function protectedMethod($number)
{
return $number + 1;
}
private function privateMethod($number)
{
return $number + 2;
}
protected static function protectedStaticMethod($number)
{
return $number + 3;
}
private static function privateStaticMethod($number)
{
return $number + 4;
}
}
$reflectionClass = new ReflectionClass(ExampleClass::class);
echo $reflectionClass->protectedStaticProperty . PHP_EOL;
echo $reflectionClass->privateStaticProperty . PHP_EOL;
echo $reflectionClass->protectedStaticMethod(2) . PHP_EOL;
echo $reflectionClass->privateStaticMethod(4) . PHP_EOL;
Returns:
2
4
5
8
$reflectionObject = new ReflectionObject(new Exampleclass);
echo $reflectionObject->protectedProperty . PHP_EOL;
echo $reflectionObject->privateProperty . PHP_EOL;
echo $reflectionObject->protectedMethod(2) . PHP_EOL;
echo $reflectionObject->privateMethod(4) . PHP_EOL;
Returns:
1
3
3
6