php8.5
Home/ Manual/ reflection / reflectionproperty/ ReflectionProperty::getDefaultValue

ReflectionProperty::getDefaultValue

PHP function Edit on GitHub ✎

(PHP 8)

Returns the default value declared for a property

Description

ReflectionProperty::getDefaultValue(): mixed

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

Parameters Parameters

Return Values

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 uninitialized typed property. Use ReflectionProperty::hasDefaultValue to detect the difference.

Note

For promoted properties, the default value is only applied to the constructor parameter, not to the property itself, so this method returns null and ReflectionProperty::hasDefaultValue returns false. Use ReflectionParameter::getDefaultValue on the matching constructor parameter to get it.

Changelog

VersionDescription
8.5.0Calling ReflectionProperty::getDefaultValue for properties without default values has been deprecated.

Examples

ReflectionProperty::getDefaultValue example

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

The above example will output:

output
int(1)
NULL
int(0)
NULL

See Also

  • ReflectionProperty::hasDefaultValue

Source: reference/reflection/reflectionproperty/getdefaultvalue.xml · from the official PHP manual (php/doc-en)