ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValueChecks if property has a default value declared

说明

public ReflectionProperty::hasDefaultValue(): bool

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

参见