mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
902d64390e
Writing to a proprety that hasn't been declared is deprecated, unless the class uses the #[AllowDynamicProperties] attribute or defines __get()/__set(). RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
34 lines
654 B
PHP
34 lines
654 B
PHP
--TEST--
|
|
ReflectionParameter::isDefault()
|
|
--FILE--
|
|
<?php
|
|
#[AllowDynamicProperties]
|
|
class A {
|
|
public $defprop;
|
|
}
|
|
$a = new A;
|
|
$a->myprop = null;
|
|
|
|
$ro = new ReflectionObject($a);
|
|
$props = $ro->getProperties();
|
|
$prop1 = $props[0];
|
|
var_dump($prop1->isDefault());
|
|
$prop2 = $props[1];
|
|
var_dump($prop2->isDefault());
|
|
|
|
var_dump($ro->getProperty('defprop')->isDefault());
|
|
var_dump($ro->getProperty('myprop')->isDefault());
|
|
|
|
$prop1 = new ReflectionProperty($a, 'defprop');
|
|
$prop2 = new ReflectionProperty($a, 'myprop');
|
|
var_dump($prop1->isDefault());
|
|
var_dump($prop2->isDefault());
|
|
?>
|
|
--EXPECT--
|
|
bool(true)
|
|
bool(false)
|
|
bool(true)
|
|
bool(false)
|
|
bool(true)
|
|
bool(false)
|