PHPCon Poland 2024

ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValueRenvoie la valeur par défault définie pour une propriété

Description

public ReflectionProperty::getDefaultValue(): mixed

Renvoie la valeur par défault implicite ou explicitement définie pour une propriété.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

La valeur par défault si la propriété a une valeur par défault (y compris null). S'il n'y a pas de valeur par défault, alors null est retourné. Il n'est pas possible de différencier un null par défault d'une propriété typée non initialisée. Utiliser ReflectionProperty::hasDefaultValue() pour détecter la différence.

Exemples

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

L'exemple ci-dessus va afficher :

int(1)
NULL
int(0)
NULL

Voir aussi

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