(PHP 8)
ReflectionProperty::getDefaultValue — Returns the default value declared for a property
Gets the implicit or explicitly declared default value for a property.
This function has no parameters.
The default value if the property has any default value (including null
).
If there is no default value, then null
is returned. It is not possible to differentiate
between a null
default value and an unitialized typed property.
Use ReflectionProperty::hasDefaultValue() to detect the difference.
Example #1 ReflectionProperty::getDefaultValue() example
<?php
class Foo {
public $bar = 1;
public ?int $baz;
public int $boing = 0;
public function __construct(public string $bak = "default") { }
}
$ro = new ReflectionClass(Foo::class);
var_dump($ro->getProperty('bar')->getDefaultValue());
var_dump($ro->getProperty('baz')->getDefaultValue());
var_dump($ro->getProperty('boing')->getDefaultValue());
var_dump($ro->getProperty('bak')->getDefaultValue());
?>
The above example will output:
int(1) NULL int(0) NULL