Annotation of embedaddon/php/ext/reflection/tests/bug49719.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #49719 (ReflectionClass::hasProperty returns true for a private property in base class)
3: --FILE--
4: <?php
5:
6: class A {
7: private $a;
8: }
9: class B extends A {
10: private $b;
11: }
12:
13: try {
14: $b = new B;
15: $ref = new ReflectionClass($b);
16:
17: var_dump(property_exists('b', 'a'));
18: var_dump(property_exists($b, 'a'));
19: var_dump($ref->hasProperty('a'));
20: var_dump($ref->getProperty('a'));
21: } catch (Exception $e) {
22: var_dump($e->getMessage());
23: }
24:
25: class A2 {
26: private $a = 1;
27: }
28:
29: class B2 extends A2 {
30: private $a = 2;
31: }
32:
33: $b2 = new ReflectionClass('B2');
34: $prop = $b2->getProperty('a');
35: $prop->setAccessible(true);
36: var_dump($prop->getValue(new b2));
37:
38: ?>
39: --EXPECTF--
40: bool(false)
41: bool(false)
42: bool(false)
43: %string|unicode%(25) "Property a does not exist"
44: int(2)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>