nsp-team / reflection-tool
允许直接访问受保护/私有属性并调用受保护/私有方法
1.0.0
2021-11-04 03:24 UTC
Requires
- php: >=7.3.0
This package is auto-updated.
Last update: 2026-03-04 15:29:10 UTC
README
A PHP reflection library to directly access protected/private properties and call protected/private methods.
This library works with major versions of PHP 7.3.
Installation
composer require nsp-team/reflection-tool:~1.0.0
Sample Usage
require __DIR__ . '/vendor/autoload.php';
use NspTeam\Reflection\ReflectionObject;
class Test
{
private $key;
private static $keyStatic;
/**
*
* @return string
*/
private function one(): string
{
return '私有方法';
}
/**
* @param int $i
* @param int $j
* @return string
*/
private static function oneStatic(int $i, int $j): string
{
return "私有静态方法 带参 $i 和 $j";
}
}
$test = new Test();
ReflectionObject::setProperty(Test::class, 'keyStatic', 'another value');
ReflectionObject::setProperty($test, 'key', 'value ');
var_dump(ReflectionObject::callMethod($test, 'one'));
var_dump(ReflectionObject::getProperty($test, 'key'));
var_dump(ReflectionObject::callMethod($test, 'oneStatic', array(1, 2)));
var_dump(ReflectionObject::getProperty($test, 'keyStatic'));
var_dump(ReflectionObject::findProperty($test, 'key'));
var_dump(ReflectionObject::getMethod(Test::class, 'one')->getDocComment());