ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValueDevuelve el valor por defecto definido para una propiedad

Descripción

public ReflectionProperty::getDefaultValue(): mixed

Devuelve el valor por defecto implícito o explícitamente definido para una propiedad.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

El valor por defecto si la propiedad tiene un valor por defecto (incluyendo null). Si no hay valor por defecto, entonces se devuelve null. No es posible diferenciar un null por defecto de una propiedad tipada no inicializada. Utilizar ReflectionProperty::hasDefaultValue() para detectar la diferencia.

Ejemplos

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

El resultado del ejemplo sería:

int(1)
NULL
int(0)
NULL

Ver también

add a note

User Contributed Notes 1 note

up
10
rwalker dot php at gmail dot com
4 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