Annotation of embedaddon/php/ext/reflection/tests/ReflectionClass_getProperties_003.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: ReflectionClass::getProperties()
                      3: --CREDITS--
                      4: Robin Fernandes <robinf@php.net>
                      5: Steve Seear <stevseea@php.net>
                      6: --FILE--
                      7: <?php
                      8: class C {
                      9:        public  $pub1;
                     10:        public  $pub2;
                     11:        private  $priv1;
                     12:        private  $priv2;
                     13:        static public  $pubs;
                     14:        static public  $pubs2;
                     15:        static private  $privs1;
                     16:        static private  $privs2;
                     17: }
                     18: 
                     19: $rc = new ReflectionClass("C");
                     20: $StaticFlag = 0x01;
                     21: $pubFlag =  0x100;
                     22: $privFlag = 0x400;
                     23: 
                     24: echo "No properties:";
                     25: var_dump($rc->getProperties(0));
                     26: 
                     27: echo "Public properties:";
                     28: var_dump($rc->getProperties($pubFlag));
                     29: 
                     30: echo "Private properties:";
                     31: var_dump($rc->getProperties($privFlag));
                     32: 
                     33: echo "Public or static properties:";
                     34: var_dump($rc->getProperties($StaticFlag | $pubFlag));
                     35: 
                     36: echo "Private or static properties:";
                     37: var_dump($rc->getProperties($StaticFlag | $privFlag));
                     38: ?>
                     39: --EXPECTF--
                     40: No properties:array(0) {
                     41: }
                     42: Public properties:array(4) {
                     43:   [0]=>
                     44:   &object(ReflectionProperty)#%d (2) {
                     45:     ["name"]=>
                     46:     string(4) "pub1"
                     47:     ["class"]=>
                     48:     string(1) "C"
                     49:   }
                     50:   [1]=>
                     51:   &object(ReflectionProperty)#%d (2) {
                     52:     ["name"]=>
                     53:     string(4) "pub2"
                     54:     ["class"]=>
                     55:     string(1) "C"
                     56:   }
                     57:   [2]=>
                     58:   &object(ReflectionProperty)#%d (2) {
                     59:     ["name"]=>
                     60:     string(4) "pubs"
                     61:     ["class"]=>
                     62:     string(1) "C"
                     63:   }
                     64:   [3]=>
                     65:   &object(ReflectionProperty)#%d (2) {
                     66:     ["name"]=>
                     67:     string(5) "pubs2"
                     68:     ["class"]=>
                     69:     string(1) "C"
                     70:   }
                     71: }
                     72: Private properties:array(4) {
                     73:   [0]=>
                     74:   &object(ReflectionProperty)#%d (2) {
                     75:     ["name"]=>
                     76:     string(5) "priv1"
                     77:     ["class"]=>
                     78:     string(1) "C"
                     79:   }
                     80:   [1]=>
                     81:   &object(ReflectionProperty)#%d (2) {
                     82:     ["name"]=>
                     83:     string(5) "priv2"
                     84:     ["class"]=>
                     85:     string(1) "C"
                     86:   }
                     87:   [2]=>
                     88:   &object(ReflectionProperty)#%d (2) {
                     89:     ["name"]=>
                     90:     string(6) "privs1"
                     91:     ["class"]=>
                     92:     string(1) "C"
                     93:   }
                     94:   [3]=>
                     95:   &object(ReflectionProperty)#%d (2) {
                     96:     ["name"]=>
                     97:     string(6) "privs2"
                     98:     ["class"]=>
                     99:     string(1) "C"
                    100:   }
                    101: }
                    102: Public or static properties:array(6) {
                    103:   [0]=>
                    104:   &object(ReflectionProperty)#%d (2) {
                    105:     ["name"]=>
                    106:     string(4) "pub1"
                    107:     ["class"]=>
                    108:     string(1) "C"
                    109:   }
                    110:   [1]=>
                    111:   &object(ReflectionProperty)#%d (2) {
                    112:     ["name"]=>
                    113:     string(4) "pub2"
                    114:     ["class"]=>
                    115:     string(1) "C"
                    116:   }
                    117:   [2]=>
                    118:   &object(ReflectionProperty)#%d (2) {
                    119:     ["name"]=>
                    120:     string(4) "pubs"
                    121:     ["class"]=>
                    122:     string(1) "C"
                    123:   }
                    124:   [3]=>
                    125:   &object(ReflectionProperty)#%d (2) {
                    126:     ["name"]=>
                    127:     string(5) "pubs2"
                    128:     ["class"]=>
                    129:     string(1) "C"
                    130:   }
                    131:   [4]=>
                    132:   &object(ReflectionProperty)#%d (2) {
                    133:     ["name"]=>
                    134:     string(6) "privs1"
                    135:     ["class"]=>
                    136:     string(1) "C"
                    137:   }
                    138:   [5]=>
                    139:   &object(ReflectionProperty)#%d (2) {
                    140:     ["name"]=>
                    141:     string(6) "privs2"
                    142:     ["class"]=>
                    143:     string(1) "C"
                    144:   }
                    145: }
                    146: Private or static properties:array(6) {
                    147:   [0]=>
                    148:   &object(ReflectionProperty)#%d (2) {
                    149:     ["name"]=>
                    150:     string(5) "priv1"
                    151:     ["class"]=>
                    152:     string(1) "C"
                    153:   }
                    154:   [1]=>
                    155:   &object(ReflectionProperty)#%d (2) {
                    156:     ["name"]=>
                    157:     string(5) "priv2"
                    158:     ["class"]=>
                    159:     string(1) "C"
                    160:   }
                    161:   [2]=>
                    162:   &object(ReflectionProperty)#%d (2) {
                    163:     ["name"]=>
                    164:     string(4) "pubs"
                    165:     ["class"]=>
                    166:     string(1) "C"
                    167:   }
                    168:   [3]=>
                    169:   &object(ReflectionProperty)#%d (2) {
                    170:     ["name"]=>
                    171:     string(5) "pubs2"
                    172:     ["class"]=>
                    173:     string(1) "C"
                    174:   }
                    175:   [4]=>
                    176:   &object(ReflectionProperty)#%d (2) {
                    177:     ["name"]=>
                    178:     string(6) "privs1"
                    179:     ["class"]=>
                    180:     string(1) "C"
                    181:   }
                    182:   [5]=>
                    183:   &object(ReflectionProperty)#%d (2) {
                    184:     ["name"]=>
                    185:     string(6) "privs2"
                    186:     ["class"]=>
                    187:     string(1) "C"
                    188:   }
                    189: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>