|
|
1.1 misho 1: --TEST--
2: ReflectionClass::getProperties()
3: --CREDITS--
4: Robin Fernandes <robinf@php.net>
5: Steve Seear <stevseea@php.net>
6: --FILE--
7: <?php
8: class C {
9: public $pub1;
10: public $pub2;
11: private $priv1;
12: private $priv2;
13: static public $pubs;
14: static public $pubs2;
15: static private $privs1;
16: static private $privs2;
17: }
18:
19: $rc = new ReflectionClass("C");
20: $StaticFlag = 0x01;
21: $pubFlag = 0x100;
22: $privFlag = 0x400;
23:
24: echo "No properties:";
25: var_dump($rc->getProperties(0));
26:
27: echo "Public properties:";
28: var_dump($rc->getProperties($pubFlag));
29:
30: echo "Private properties:";
31: var_dump($rc->getProperties($privFlag));
32:
33: echo "Public or static properties:";
34: var_dump($rc->getProperties($StaticFlag | $pubFlag));
35:
36: echo "Private or static properties:";
37: var_dump($rc->getProperties($StaticFlag | $privFlag));
38: ?>
39: --EXPECTF--
40: No properties:array(0) {
41: }
42: Public properties:array(4) {
43: [0]=>
44: &object(ReflectionProperty)#%d (2) {
45: ["name"]=>
46: string(4) "pub1"
47: ["class"]=>
48: string(1) "C"
49: }
50: [1]=>
51: &object(ReflectionProperty)#%d (2) {
52: ["name"]=>
53: string(4) "pub2"
54: ["class"]=>
55: string(1) "C"
56: }
57: [2]=>
58: &object(ReflectionProperty)#%d (2) {
59: ["name"]=>
60: string(4) "pubs"
61: ["class"]=>
62: string(1) "C"
63: }
64: [3]=>
65: &object(ReflectionProperty)#%d (2) {
66: ["name"]=>
67: string(5) "pubs2"
68: ["class"]=>
69: string(1) "C"
70: }
71: }
72: Private properties:array(4) {
73: [0]=>
74: &object(ReflectionProperty)#%d (2) {
75: ["name"]=>
76: string(5) "priv1"
77: ["class"]=>
78: string(1) "C"
79: }
80: [1]=>
81: &object(ReflectionProperty)#%d (2) {
82: ["name"]=>
83: string(5) "priv2"
84: ["class"]=>
85: string(1) "C"
86: }
87: [2]=>
88: &object(ReflectionProperty)#%d (2) {
89: ["name"]=>
90: string(6) "privs1"
91: ["class"]=>
92: string(1) "C"
93: }
94: [3]=>
95: &object(ReflectionProperty)#%d (2) {
96: ["name"]=>
97: string(6) "privs2"
98: ["class"]=>
99: string(1) "C"
100: }
101: }
102: Public or static properties:array(6) {
103: [0]=>
104: &object(ReflectionProperty)#%d (2) {
105: ["name"]=>
106: string(4) "pub1"
107: ["class"]=>
108: string(1) "C"
109: }
110: [1]=>
111: &object(ReflectionProperty)#%d (2) {
112: ["name"]=>
113: string(4) "pub2"
114: ["class"]=>
115: string(1) "C"
116: }
117: [2]=>
118: &object(ReflectionProperty)#%d (2) {
119: ["name"]=>
120: string(4) "pubs"
121: ["class"]=>
122: string(1) "C"
123: }
124: [3]=>
125: &object(ReflectionProperty)#%d (2) {
126: ["name"]=>
127: string(5) "pubs2"
128: ["class"]=>
129: string(1) "C"
130: }
131: [4]=>
132: &object(ReflectionProperty)#%d (2) {
133: ["name"]=>
134: string(6) "privs1"
135: ["class"]=>
136: string(1) "C"
137: }
138: [5]=>
139: &object(ReflectionProperty)#%d (2) {
140: ["name"]=>
141: string(6) "privs2"
142: ["class"]=>
143: string(1) "C"
144: }
145: }
146: Private or static properties:array(6) {
147: [0]=>
148: &object(ReflectionProperty)#%d (2) {
149: ["name"]=>
150: string(5) "priv1"
151: ["class"]=>
152: string(1) "C"
153: }
154: [1]=>
155: &object(ReflectionProperty)#%d (2) {
156: ["name"]=>
157: string(5) "priv2"
158: ["class"]=>
159: string(1) "C"
160: }
161: [2]=>
162: &object(ReflectionProperty)#%d (2) {
163: ["name"]=>
164: string(4) "pubs"
165: ["class"]=>
166: string(1) "C"
167: }
168: [3]=>
169: &object(ReflectionProperty)#%d (2) {
170: ["name"]=>
171: string(5) "pubs2"
172: ["class"]=>
173: string(1) "C"
174: }
175: [4]=>
176: &object(ReflectionProperty)#%d (2) {
177: ["name"]=>
178: string(6) "privs1"
179: ["class"]=>
180: string(1) "C"
181: }
182: [5]=>
183: &object(ReflectionProperty)#%d (2) {
184: ["name"]=>
185: string(6) "privs2"
186: ["class"]=>
187: string(1) "C"
188: }
189: }