Reflection ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValue — 속성에 기본값이 선언되어 있는지 확인합니다.


설명

public ReflectionProperty::hasDefaultValue(): bool

속성이 암시적 null 기본값을 포함하여 기본값으로 선언되었는지 여부를 확인합니다. 기본값(또는 동적 속성)이 없는 형식화된 속성에 대해서만 false를 반환합니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값

속성에 기본값(null 포함)이 있으면 true가 반환됩니다. 속성이 기본값을 선언하지 않고 입력되거나 동적 속성이면 false가 반환됩니다.


Examples

예제 #1 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
?>
                  
                

위의 예는 다음을 출력합니다.

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php
                

기타