PHP 8.4.0 RC4 available for testing

ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValueReturns the default value declared for a property

Açıklama

public ReflectionProperty::getDefaultValue(): mixed

Gets the implicit or explicitly declared default value for a property.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The default value if the property has any default value (including null). If there is no default value, then null is returned. It is not possible to differentiate between a null default value and an unitialized typed property. Use ReflectionProperty::hasDefaultValue() to detect the difference.

Örnekler

Örnek 1 ReflectionProperty::getDefaultValue() example

<?php
class Foo {
public
$bar = 1;
public ?
int $baz;
public
int $boing = 0;
public function
__construct(public string $bak = "default") { }
}

$ro = new ReflectionClass(Foo::class);
var_dump($ro->getProperty('bar')->getDefaultValue());
var_dump($ro->getProperty('baz')->getDefaultValue());
var_dump($ro->getProperty('boing')->getDefaultValue());
var_dump($ro->getProperty('bak')->getDefaultValue());
?>

Yukarıdaki örneğin çıktısı:

int(1)
NULL
int(0)
NULL

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
10
rwalker dot php at gmail dot com
3 years ago
An equivalent for PHP 7:

<?php
$reflectionProperty
= new \ReflectionProperty(Foo::class, 'bar');

//PHP 8:
$defaultValue = $reflectionProperty->getDefaultValue();

//PHP 7:
$defaultValue = $reflectionProperty->getDeclaringClass()->getDefaultProperties()['bar'] ?? null;
?>
To Top