(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).
Diese Funktion besitzt keine Parameter.
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.
Beispiel #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
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
bool(true) bool(false) bool(true) bool(false) bool(false) Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php