PHP 8.3.7 Released!

ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValueRetorna o valor padrão declarado para uma propriedade

Descrição

public ReflectionProperty::getDefaultValue(): mixed

Obtém o valor padrão declarado implícito ou explicitamente para uma propriedade.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

O valor padrão se a propriedade tiver qualquer valor padrão (incluindo null). Se não houver valor padrão, então null é retornado. Não é possível diferenciar entre um null valor padrão e uma propriedade digitada unitializada. Use ReflectionProperty::hasDefaultValue() para detectar a diferença.

Exemplos

Exemplo #1 Exemplo de ReflectionProperty::getDefaultValue()

<?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());
?>

O exemplo acima produzirá:

int(1)
NULL
int(0)
NULL

Veja Também

add a note

User Contributed Notes 1 note

up
11
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