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