Annotation of embedaddon/php/ext/standard/tests/class_object/get_class_vars_variation2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test get_class_vars() function : testing visibility
3: --FILE--
4: <?php
5: /* Prototype : array get_class_vars(string class_name)
6: * Description: Returns an array of default properties of the class.
7: * Source code: Zend/zend_builtin_functions.c
8: * Alias to functions:
9: */
10:
11: class Ancestor {
12: function test() {
13: var_dump(get_class_vars("Tester"));
14: }
15:
16: static function testStatic() {
17: var_dump(get_class_vars("Tester"));
18: }
19: }
20:
21: class Tester extends Ancestor {
22: public $pub = "public var";
23: protected $prot = "protected var";
24: private $priv = "private var";
25:
26: static public $pubs = "public static var";
27: static protected $prots = "protected static var";
28: static private $privs = "private static var";
29:
30: function test() {
31: var_dump(get_class_vars("Tester"));
32: }
33:
34: static function testStatic() {
35: var_dump(get_class_vars("Tester"));
36: }
37: }
38:
39: class Child extends Tester {
40: function test() {
41: var_dump(get_class_vars("Tester"));
42: }
43:
44: static function testStatic() {
45: var_dump(get_class_vars("Tester"));
46: }
47: }
48:
49: echo "*** Testing get_class_vars() : testing visibility\n";
50:
51: echo "\n-- From global context --\n";
52: var_dump(get_class_vars("Tester"));
53:
54: echo "\n-- From inside an object instance --\n";
55: $instance = new Tester();
56: $instance->test();
57:
58: echo "\n-- From a static context --\n";
59: Tester::testStatic();
60:
61:
62: echo "\n-- From inside an parent object instance --\n";
63: $parent = new Ancestor();
64: $parent->test();
65:
66: echo "\n-- From a parents static context --\n";
67: Ancestor::testStatic();
68:
69:
70: echo "\n-- From inside a child object instance --\n";
71: $child = new Child();
72: $child->test();
73:
74: echo "\n-- From a child's static context --\n";
75: Child::testStatic();
76: ?>
77: ===DONE===
78: --EXPECTF--
79: *** Testing get_class_vars() : testing visibility
80:
81: -- From global context --
82: array(2) {
83: ["pub"]=>
84: string(10) "public var"
85: ["pubs"]=>
86: string(17) "public static var"
87: }
88:
89: -- From inside an object instance --
90: array(6) {
91: ["pub"]=>
92: string(10) "public var"
93: ["prot"]=>
94: string(13) "protected var"
95: ["priv"]=>
96: string(11) "private var"
97: ["pubs"]=>
98: string(17) "public static var"
99: ["prots"]=>
100: string(20) "protected static var"
101: ["privs"]=>
102: string(18) "private static var"
103: }
104:
105: -- From a static context --
106: array(6) {
107: ["pub"]=>
108: string(10) "public var"
109: ["prot"]=>
110: string(13) "protected var"
111: ["priv"]=>
112: string(11) "private var"
113: ["pubs"]=>
114: string(17) "public static var"
115: ["prots"]=>
116: string(20) "protected static var"
117: ["privs"]=>
118: string(18) "private static var"
119: }
120:
121: -- From inside an parent object instance --
122: array(4) {
123: ["pub"]=>
124: string(10) "public var"
125: ["prot"]=>
126: string(13) "protected var"
127: ["pubs"]=>
128: string(17) "public static var"
129: ["prots"]=>
130: string(20) "protected static var"
131: }
132:
133: -- From a parents static context --
134: array(4) {
135: ["pub"]=>
136: string(10) "public var"
137: ["prot"]=>
138: string(13) "protected var"
139: ["pubs"]=>
140: string(17) "public static var"
141: ["prots"]=>
142: string(20) "protected static var"
143: }
144:
145: -- From inside a child object instance --
146: array(4) {
147: ["pub"]=>
148: string(10) "public var"
149: ["prot"]=>
150: string(13) "protected var"
151: ["pubs"]=>
152: string(17) "public static var"
153: ["prots"]=>
154: string(20) "protected static var"
155: }
156:
157: -- From a child's static context --
158: array(4) {
159: ["pub"]=>
160: string(10) "public var"
161: ["prot"]=>
162: string(13) "protected var"
163: ["pubs"]=>
164: string(17) "public static var"
165: ["prots"]=>
166: string(20) "protected static var"
167: }
168: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>