Annotation of embedaddon/php/ext/reflection/tests/ReflectionClass_getDefaultProperties_001.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ReflectionClass::getDefaultProperties(), ReflectionClass::getStaticProperties()
! 3: --CREDITS--
! 4: Robin Fernandes <robinf@php.net>
! 5: Steve Seear <stevseea@php.net>
! 6: --FILE--
! 7: <?php
! 8:
! 9:
! 10: class A {
! 11: static public $statPubC = "stat pubC in A";
! 12: static protected $statProtC = "stat protC in A";
! 13: static private $statPrivC = "stat privC in A";
! 14:
! 15: static public $statPubA = "stat pubA in A";
! 16: static protected $statProtA = "stat protA in A";
! 17: static private $statPrivA = "stat privA in A";
! 18:
! 19: public $pubC = "pubC in A";
! 20: protected $protC = "protC in A";
! 21: private $privC = "privC in A";
! 22:
! 23: public $pubA = "pubA in A";
! 24: protected $protA = "protA in A";
! 25: private $privA = "privA in A";
! 26: }
! 27:
! 28: class B extends A {
! 29: static public $statPubC = "stat pubC in B";
! 30: static protected $statProtC = "stat protC in B";
! 31: static private $statPrivC = "stat privC in B";
! 32:
! 33: static public $statPubB = "stat pubB in B";
! 34: static protected $statProtB = "stat protB in B";
! 35: static private $statPrivB = "stat privB in B";
! 36:
! 37: public $pubC = "pubC in B";
! 38: protected $protC = "protC in B";
! 39: private $privC = "privC in B";
! 40:
! 41: public $pubB = "pubB in B";
! 42: protected $protB = "protB in B";
! 43: private $privB = "privB in B";
! 44: }
! 45:
! 46: class C extends B {
! 47: static public $statPubC = "stat pubC in C";
! 48: static protected $statProtC = "stat protC in C";
! 49: static private $statPrivC = "stat privC in C";
! 50:
! 51: public $pubC = "pubC in C";
! 52: protected $protC = "protC in C";
! 53: private $privC = "privC in C";
! 54: }
! 55:
! 56: class X {
! 57: static public $statPubC = "stat pubC in X";
! 58: static protected $statProtC = "stat protC in X";
! 59: static private $statPrivC = "stat privC in X";
! 60:
! 61: public $pubC = "pubC in X";
! 62: protected $protC = "protC in X";
! 63: private $privC = "privC in X";
! 64: }
! 65:
! 66: $classes = array('A', 'B', 'C', 'X');
! 67: foreach ($classes as $class) {
! 68: $rc = new ReflectionClass($class);
! 69: echo "\n\n---- Static properties in $class ----\n";
! 70: print_r($rc->getStaticProperties());
! 71: echo "\n\n---- Default properties in $class ----\n";
! 72: print_r($rc->getDefaultProperties());
! 73: }
! 74:
! 75: ?>
! 76: --EXPECTF--
! 77: ---- Static properties in A ----
! 78: Array
! 79: (
! 80: [statPubC] => stat pubC in A
! 81: [statProtC] => stat protC in A
! 82: [statPrivC] => stat privC in A
! 83: [statPubA] => stat pubA in A
! 84: [statProtA] => stat protA in A
! 85: [statPrivA] => stat privA in A
! 86: )
! 87:
! 88:
! 89: ---- Default properties in A ----
! 90: Array
! 91: (
! 92: [statPubC] => stat pubC in A
! 93: [statProtC] => stat protC in A
! 94: [statPrivC] => stat privC in A
! 95: [statPubA] => stat pubA in A
! 96: [statProtA] => stat protA in A
! 97: [statPrivA] => stat privA in A
! 98: [pubC] => pubC in A
! 99: [protC] => protC in A
! 100: [privC] => privC in A
! 101: [pubA] => pubA in A
! 102: [protA] => protA in A
! 103: [privA] => privA in A
! 104: )
! 105:
! 106:
! 107: ---- Static properties in B ----
! 108: Array
! 109: (
! 110: [statPubC] => stat pubC in B
! 111: [statProtC] => stat protC in B
! 112: [statPrivC] => stat privC in B
! 113: [statPubB] => stat pubB in B
! 114: [statProtB] => stat protB in B
! 115: [statPrivB] => stat privB in B
! 116: [statPubA] => stat pubA in A
! 117: [statProtA] => stat protA in A
! 118: )
! 119:
! 120:
! 121: ---- Default properties in B ----
! 122: Array
! 123: (
! 124: [statPubC] => stat pubC in B
! 125: [statProtC] => stat protC in B
! 126: [statPrivC] => stat privC in B
! 127: [statPubB] => stat pubB in B
! 128: [statProtB] => stat protB in B
! 129: [statPrivB] => stat privB in B
! 130: [statPubA] => stat pubA in A
! 131: [statProtA] => stat protA in A
! 132: [pubC] => pubC in B
! 133: [protC] => protC in B
! 134: [privC] => privC in B
! 135: [pubB] => pubB in B
! 136: [protB] => protB in B
! 137: [privB] => privB in B
! 138: [pubA] => pubA in A
! 139: [protA] => protA in A
! 140: )
! 141:
! 142:
! 143: ---- Static properties in C ----
! 144: Array
! 145: (
! 146: [statPubC] => stat pubC in C
! 147: [statProtC] => stat protC in C
! 148: [statPrivC] => stat privC in C
! 149: [statPubB] => stat pubB in B
! 150: [statProtB] => stat protB in B
! 151: [statPubA] => stat pubA in A
! 152: [statProtA] => stat protA in A
! 153: )
! 154:
! 155:
! 156: ---- Default properties in C ----
! 157: Array
! 158: (
! 159: [statPubC] => stat pubC in C
! 160: [statProtC] => stat protC in C
! 161: [statPrivC] => stat privC in C
! 162: [statPubB] => stat pubB in B
! 163: [statProtB] => stat protB in B
! 164: [statPubA] => stat pubA in A
! 165: [statProtA] => stat protA in A
! 166: [pubC] => pubC in C
! 167: [protC] => protC in C
! 168: [privC] => privC in C
! 169: [pubB] => pubB in B
! 170: [protB] => protB in B
! 171: [pubA] => pubA in A
! 172: [protA] => protA in A
! 173: )
! 174:
! 175:
! 176: ---- Static properties in X ----
! 177: Array
! 178: (
! 179: [statPubC] => stat pubC in X
! 180: [statProtC] => stat protC in X
! 181: [statPrivC] => stat privC in X
! 182: )
! 183:
! 184:
! 185: ---- Default properties in X ----
! 186: Array
! 187: (
! 188: [statPubC] => stat pubC in X
! 189: [statProtC] => stat protC in X
! 190: [statPrivC] => stat privC in X
! 191: [pubC] => pubC in X
! 192: [protC] => protC in X
! 193: [privC] => privC in X
! 194: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>