PHP Conference Japan 2024

ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValue检查属性是否声明了默认值

描述

public ReflectionProperty::hasDefaultValue(): bool

检查属性是否声明了默认值,包括隐式的null 默认值。只有对于没有默认值的类型化属性(或动态属性)才返回false

参数

此函数没有参数。

返回值

如果属性具有任何默认值(包括null),则返回true;如果属性是类型化的,但未声明默认值,或者是一个动态属性,则返回false

示例

示例 #1 ReflectionProperty::hasDefaultValue() 示例

<?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()); // 动态属性
var_dump($ro->getProperty('pong')->hasDefaultValue()); // 未定义属性
?>

以上示例将输出

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top