ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValueВозвращает значение по умолчанию, заданное для свойства

Описание

public ReflectionProperty::getDefaultValue(): mixed

Возвращает явно или неявно заданное значение по умолчанию для свойства.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Значение по умолчанию (включая null), если оно задано. Если значение по умолчанию не задано, то возвращается null. Для определения того, задано ли в принципе значение по умолчанию для свойства, используйте ReflectionProperty::hasDefaultValue().

Примеры

Пример #1 Пример использования 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());
?>

Результат выполнения приведённого примера:

int(1)
NULL
int(0)
NULL

Смотрите также

add a note 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