ReflectionProperty::getDefaultValue
(PHP 8)
ReflectionProperty::getDefaultValue — Returns the default value declared for a property
说明
Gets the implicit or explicitly declared default value for a property.
参数
此函数没有参数。
返回值
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.
范例
示例 #1 ReflectionProperty::getDefaultValue() example
<?php
class Foo {
public $bar = 1;
public ?int $baz;
public int $boing = 0;
}
$ro = new ReflectionClass(Foo::class);
var_dump($ro->getProperty('bar')->getDefaultValue());
var_dump($ro->getProperty('baz')->getDefaultValue());
var_dump($ro->getProperty('boing')->getDefaultValue());
?>
以上例程会输出:
int(1) NULL int(0)

User Contributed Notes 1 note
rwalker dot php at gmail dot com ¶
1 year ago
An equivalent for PHP 7:
<?php
$reflectionProperty = new \ReflectionProperty(Foo::class, 'bar');
//PHP 8:
$defaultValue = $reflectionProperty->getDefaultValue();
//PHP 7:
$defaultValue = $reflectionProperty->getDeclaringClass()->getDefaultProperties()['bar'] ?? null;
?>
备份地址:http://www.lvesu.com/blog/php/reflectionproperty.getdefaultvalue.php