ReflectionProperty::hasDefaultValue
(PHP 8)
ReflectionProperty::hasDefaultValue — Checks if property has a default value declared
说明
Checks whether the property was declared with a default value, including an implicit
null
default value. Only returns false
for typed properties without default value (or
dynamic properties).
参数
此函数没有参数。
返回值
If the property has any default value (including null
) true
is returned;
if the property is typed without a default value declared or is a dynamic property, false
is returned.
示例
示例 #1 ReflectionProperty::hasDefaultValue() example
<?php
class Foo {
public $bar;
public ?int $baz;
public ?int $foo = null;
public int $boing;
public function __construct()
{
$this->ping = '';
}
}
$ro = new ReflectionObject(new Foo());
var_dump($ro->getProperty('bar')->hasDefaultValue());
var_dump($ro->getProperty('baz')->hasDefaultValue());
var_dump($ro->getProperty('foo')->hasDefaultValue());
var_dump($ro->getProperty('boing')->hasDefaultValue());
var_dump($ro->getProperty('ping')->hasDefaultValue()); // Dynamic property
var_dump($ro->getProperty('pong')->hasDefaultValue()); // Not defined property
?>
以上示例会输出:
bool(true) bool(false) bool(true) bool(false) bool(false) Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php
+添加备注
用户贡献的备注
此页面尚无用户贡献的备注。
备份地址:http://www.lvesu.com/blog/php/reflectionproperty.hasdefaultvalue.php