Return to get_class_vars_variation2.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / class_object |
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===