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--
Constructor property promotion
--FILE--
<?php
class Test {
public function __construct(
public $prop = 42 {
get => print("Getting\n");
set { print("Setting\n"); }
}
) {
echo "Constructor\n";
}
}
echo "Pre-test\n";
$test = new Test;
$test->prop;
$test->prop = 42;
$r = (new ReflectionProperty(Test::class, 'prop'));
var_dump($r->hasDefaultValue());
var_dump($r->getDefaultValue());
?>
--EXPECT--
Pre-test
Setting
Constructor
Getting
Setting
bool(false)
NULL
|