(PHP 8)
ReflectionProperty::hasDefaultValue — Verifie si la propriété a une valeur par défault
Vérifie si la propriété a été déclarée avec une valeur par défault, incluant une valeur par défault
implicite null
. Retourne false
pour les propriétés typées sans valeur par défault
(ou les propriétés dynamiques).
Cette fonction ne contient aucun paramètre.
Si la propriété a une valeur par défault (incluant null
), true
est retourné;
si la propriété est typé sans valeur par défault déclarée ou est une propriété dynamique, false
est retourné.
Exemple #1 Exemple de 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()); // Dynamic property
var_dump($ro->getProperty('pong')->hasDefaultValue()); // Not defined property
?>
L'exemple ci-dessus va afficher :
bool(true) bool(false) bool(true) bool(false) bool(false) Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php