- var_dump: documentation ( source)
<?php
class Ex extends \ReflectionException
{
public $reflector;
public function __construct($reflector, $message = '', \Exception $previous = null)
{
parent::__construct($message, 0, $previous);
$this->reflector = $reflector;
}
}
class A
{
private $private = 'private';
public $public = 'public';
public static $static = 'static';
public function privateMethod()
{
}
}
class B
{
private $private = 'private';
public $public = 'public';
}
class C extends \ReflectionClass
{
public function __construct($name)
{
try {
parent::__construct($name);
} catch (\Exception $e) {
throw new Ex($this, $e->getMessage(), $e);
}
}
}
$r = new \ReflectionClass('A');
$p = $r->getProperty('static');
$p->setValue();
die();
//$p->setAccessible(true);
//$p->setAccessible(false);
try {
$p->invoke(new A());
} catch (\ReflectionException $e) {
var_dump($e->getCode());
}
die();
$c = new B();
$p->setValue($c, 'b');
var_dump($p->getValue(new stdClass()));
//$p = $r->getProperty('public');
//$p->setAccessible(false);
//var_dump($p->getValue(true));