Dutch PHP Conference 2025 - Call For Papers

ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValueChecks if property has a default value declared

Опис

public ReflectionProperty::hasDefaultValue(): bool

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

Прогляньте також

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top