1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 16:22:37 +01:00
Files
archived-php-src/ext/reflection/tests/024.phpt
Nikita Popov 902d64390e Deprecate implicit dynamic properties
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
2021-11-26 14:10:11 +01:00

45 lines
666 B
PHP

--TEST--
ReflectionObject::__toString (filtering privates/protected dynamic properties)
--FILE--
<?php
#[AllowDynamicProperties]
class C1 {
private $p1 = 1;
protected $p2 = 2;
public $p3 = 3;
}
$x = new C1();
$x->z = 4;
$x->p3 = 5;
$obj = new ReflectionObject($x);
echo $obj;
?>
--EXPECTF--
Object of class [ <user> class C1 ] {
@@ %s
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [3] {
Property [ private $p1 = 1 ]
Property [ protected $p2 = 2 ]
Property [ public $p3 = 3 ]
}
- Dynamic properties [1] {
Property [ <dynamic> public $z ]
}
- Methods [0] {
}
}