(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).
  
У цієї функції немає параметрів.
   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
