mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
[RFC] Deprecate ReflectionProperty::getDefaultValue() without default (#19457)
https://wiki.php.net/rfc/deprecations_php_8_5
This commit is contained in:
parent
ffdc1044c9
commit
57a88b216c
3 changed files with 22 additions and 3 deletions
|
@ -24,11 +24,13 @@ var_dump($r->hasDefaultValue());
|
|||
var_dump($r->getDefaultValue());
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
--EXPECTF--
|
||||
Pre-test
|
||||
Setting
|
||||
Constructor
|
||||
Getting
|
||||
Setting
|
||||
bool(false)
|
||||
|
||||
Deprecated: ReflectionProperty::getDefaultValue() for a property without a default value is deprecated, use ReflectionProperty::hasDefaultValue() to check if the default value exists in %s on line %d
|
||||
NULL
|
||||
|
|
|
@ -6514,11 +6514,22 @@ ZEND_METHOD(ReflectionProperty, getDefaultValue)
|
|||
prop_info = ref->prop;
|
||||
|
||||
if (prop_info == NULL) {
|
||||
return; // throw exception?
|
||||
// Dynamic property
|
||||
zend_error(
|
||||
E_DEPRECATED,
|
||||
"ReflectionProperty::getDefaultValue() for a property without a default value is deprecated, "
|
||||
"use ReflectionProperty::hasDefaultValue() to check if the default value exists"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
prop = property_get_default(prop_info);
|
||||
if (!prop || Z_ISUNDEF_P(prop)) {
|
||||
zend_error(
|
||||
E_DEPRECATED,
|
||||
"ReflectionProperty::getDefaultValue() for a property without a default value is deprecated, "
|
||||
"use ReflectionProperty::hasDefaultValue() to check if the default value exists"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,15 +60,21 @@ $property = new ReflectionProperty($test, 'dynamic');
|
|||
var_dump($property->getDefaultValue());
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
--EXPECTF--
|
||||
NULL
|
||||
string(3) "baz"
|
||||
NULL
|
||||
int(1234)
|
||||
|
||||
Deprecated: ReflectionProperty::getDefaultValue() for a property without a default value is deprecated, use ReflectionProperty::hasDefaultValue() to check if the default value exists in %s on line %d
|
||||
NULL
|
||||
int(1234)
|
||||
|
||||
Deprecated: ReflectionProperty::getDefaultValue() for a property without a default value is deprecated, use ReflectionProperty::hasDefaultValue() to check if the default value exists in %s on line %d
|
||||
NULL
|
||||
NULL
|
||||
int(4)
|
||||
int(42)
|
||||
|
||||
Deprecated: ReflectionProperty::getDefaultValue() for a property without a default value is deprecated, use ReflectionProperty::hasDefaultValue() to check if the default value exists in %s on line %d
|
||||
NULL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue