Annotation of embedaddon/php/ext/standard/tests/class_object/get_class_vars_variation2.phpt, revision 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>