From 0d74b3f4371b1f8f0f24ff77f9035be192c08b50 Mon Sep 17 00:00:00 2001 From: qodelicious <162776175+qodelicious@users.noreply.github.com> Date: Mon, 19 Oct 2026 00:13:21 +0000 Subject: [PATCH 1/2] ReflectionProperty::getDefaultValue(): note about promoted properties Fixes #3386 --- .../reflection/reflectionproperty/getdefaultvalue.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reference/reflection/reflectionproperty/getdefaultvalue.xml b/reference/reflection/reflectionproperty/getdefaultvalue.xml index 887944dc073b..6f79dc954983 100644 --- a/reference/reflection/reflectionproperty/getdefaultvalue.xml +++ b/reference/reflection/reflectionproperty/getdefaultvalue.xml @@ -30,6 +30,14 @@ between a &null; default value and an uninitialized typed property. Use ReflectionProperty::hasDefaultValue to detect the difference. + + + For promoted properties, + the default value is only applied to the constructor parameter, not to the property itself, + so this method returns &null;. Use ReflectionParameter::getDefaultValue + on the matching constructor parameter to get it. + + From a835e8d09e13f16703130fb44cd319d622ecb319 Mon Sep 17 00:00:00 2001 From: Louis-Arnaud Date: Mon, 19 Oct 2026 09:53:44 +0200 Subject: [PATCH 2/2] Apply suggestion from @lacatoire --- reference/reflection/reflectionproperty/getdefaultvalue.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/reflection/reflectionproperty/getdefaultvalue.xml b/reference/reflection/reflectionproperty/getdefaultvalue.xml index 6f79dc954983..f144016244fc 100644 --- a/reference/reflection/reflectionproperty/getdefaultvalue.xml +++ b/reference/reflection/reflectionproperty/getdefaultvalue.xml @@ -34,7 +34,8 @@ For promoted properties, the default value is only applied to the constructor parameter, not to the property itself, - so this method returns &null;. Use ReflectionParameter::getDefaultValue + so this method returns &null; and ReflectionProperty::hasDefaultValue + returns &false;. Use ReflectionParameter::getDefaultValue on the matching constructor parameter to get it.