1--TEST-- 2ReflectionClass::hasMethod() 3--CREDITS-- 4Robin Fernandes <robinf@php.net> 5Steve Seear <stevseea@php.net> 6--FILE-- 7<?php 8class pubf { 9 public function f() {} 10 static public function s() {} 11} 12class subpubf extends pubf { 13} 14 15class protf { 16 protected function f() {} 17 static protected function s() {} 18} 19class subprotf extends protf { 20} 21 22class privf { 23 private function f() {} 24 static private function s() {} 25} 26class subprivf extends privf { 27} 28 29$classes = array("pubf", "subpubf", "protf", "subprotf", 30 "privf", "subprivf"); 31foreach($classes as $class) { 32 echo "Reflecting on class $class: \n"; 33 $rc = new ReflectionClass($class); 34 echo " --> Check for f(): "; 35 var_dump($rc->hasMethod("f")); 36 echo " --> Check for s(): "; 37 var_dump($rc->hasMethod("s")); 38 echo " --> Check for F(): "; 39 var_dump($rc->hasMethod("F")); 40 echo " --> Check for doesNotExist(): "; 41 var_dump($rc->hasMethod("doesNotExist")); 42} 43?> 44--EXPECT-- 45Reflecting on class pubf: 46 --> Check for f(): bool(true) 47 --> Check for s(): bool(true) 48 --> Check for F(): bool(true) 49 --> Check for doesNotExist(): bool(false) 50Reflecting on class subpubf: 51 --> Check for f(): bool(true) 52 --> Check for s(): bool(true) 53 --> Check for F(): bool(true) 54 --> Check for doesNotExist(): bool(false) 55Reflecting on class protf: 56 --> Check for f(): bool(true) 57 --> Check for s(): bool(true) 58 --> Check for F(): bool(true) 59 --> Check for doesNotExist(): bool(false) 60Reflecting on class subprotf: 61 --> Check for f(): bool(true) 62 --> Check for s(): bool(true) 63 --> Check for F(): bool(true) 64 --> Check for doesNotExist(): bool(false) 65Reflecting on class privf: 66 --> Check for f(): bool(true) 67 --> Check for s(): bool(true) 68 --> Check for F(): bool(true) 69 --> Check for doesNotExist(): bool(false) 70Reflecting on class subprivf: 71 --> Check for f(): bool(true) 72 --> Check for s(): bool(true) 73 --> Check for F(): bool(true) 74 --> Check for doesNotExist(): bool(false) 75 76