1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
--TEST--
Handling of new in constant expressions in reflection
--FILE--
<?php
function test1() {
static $x = new stdClass;
return $x;
}
$rf = new ReflectionFunction('test1');
var_dump($rf->getStaticVariables());
test1();
$s = $rf->getStaticVariables();
var_dump($s['x'] === test1());
function test2($x = new stdClass) {
return $x;
}
$rf = new ReflectionFunction('test2');
$rp = $rf->getParameters()[0];
// Parameter default should *not* be the same.
var_dump($rp->getDefaultValue() !== test2());
?>
--EXPECT--
array(1) {
["x"]=>
NULL
}
bool(true)
bool(true)
|