(PHP 8)
ReflectionProperty::hasDefaultValue — Vérifie si la propriété a une valeur par défaut
Vérifie si la propriété a été déclarée avec une valeur par défaut, incluant une valeur par défaut
implicite null. Retourne false pour les propriétés typées sans valeur par défaut
(ou les propriétés dynamiques).
Cette fonction ne contient aucun paramètre.
Si la propriété a une valeur par défaut (incluant null), true est retourné;
si la propriété est typé sans valeur par défaut 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