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>