diff options
-rw-r--r-- | ext/reflection/tests/bug49074.phpt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/reflection/tests/bug49074.phpt b/ext/reflection/tests/bug49074.phpt new file mode 100644 index 0000000000..670427594b --- /dev/null +++ b/ext/reflection/tests/bug49074.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #49074 (private class static fields can be modified by using reflection) +--FILE-- +<?php +class Test { + private static $data1 = 1; + private static $data4 = 4; +} + +class Test2 extends Test { + private static $data2 = 2; + public static $data3 = 3; +} + +$r = new ReflectionClass('Test2'); +$m = $r->getStaticProperties(); + +$m['data1'] = 100; +$m['data2'] = 200; +$m['data3'] = 300; +$m['data4'] = 400; + +var_dump($r->getStaticProperties()); +?> +--EXPECT-- +array(4) { + ["data2"]=> + int(2) + ["data3"]=> + int(3) + ["data1"]=> + int(1) + ["data4"]=> + int(4) +} |