1--TEST-- 2ReflectionFunction basic tests 3--INI-- 4opcache.save_comments=1 5--FILE-- 6<?php 7 8/** 9hoho 10*/ 11function test ($a, $b = 1, $c = "") { 12 static $var = 1; 13} 14 15$func = new ReflectionFunction("test"); 16 17echo $func; 18echo "--getName--\n"; 19var_dump($func->getName()); 20echo "--isInternal--\n"; 21var_dump($func->isInternal()); 22echo "--isUserDefined--\n"; 23var_dump($func->isUserDefined()); 24echo "--getFilename--\n"; 25var_dump($func->getFilename()); 26echo "--getStartline--\n"; 27var_dump($func->getStartline()); 28echo "--getEndline--\n"; 29var_dump($func->getEndline()); 30echo "--getDocComment--\n"; 31var_dump($func->getDocComment()); 32echo "--getStaticVariables--\n"; 33var_dump($func->getStaticVariables()); 34echo "--invoke--\n"; 35var_dump($func->invoke(array(1,2,3))); 36echo "--invokeArgs--\n"; 37var_dump($func->invokeArgs(array(1,2,3))); 38echo "--returnsReference--\n"; 39var_dump($func->returnsReference()); 40echo "--getParameters--\n"; 41var_dump($func->getParameters()); 42echo "--getNumberOfParameters--\n"; 43var_dump($func->getNumberOfParameters()); 44echo "--getNumberOfRequiredParameters--\n"; 45var_dump($func->getNumberOfRequiredParameters()); 46 47echo "Done\n"; 48 49?> 50--EXPECTF-- 51/** 52hoho 53*/ 54Function [ <user> function test ] { 55 @@ %s 6 - 8 56 57 - Parameters [3] { 58 Parameter #0 [ <required> $a ] 59 Parameter #1 [ <optional> $b = 1 ] 60 Parameter #2 [ <optional> $c = '' ] 61 } 62} 63--getName-- 64string(4) "test" 65--isInternal-- 66bool(false) 67--isUserDefined-- 68bool(true) 69--getFilename-- 70string(%d) "%s025.php" 71--getStartline-- 72int(6) 73--getEndline-- 74int(8) 75--getDocComment-- 76string(%d) "/** 77hoho 78*/" 79--getStaticVariables-- 80array(1) { 81 ["var"]=> 82 int(1) 83} 84--invoke-- 85NULL 86--invokeArgs-- 87NULL 88--returnsReference-- 89bool(false) 90--getParameters-- 91array(3) { 92 [0]=> 93 object(ReflectionParameter)#2 (1) { 94 ["name"]=> 95 string(1) "a" 96 } 97 [1]=> 98 object(ReflectionParameter)#3 (1) { 99 ["name"]=> 100 string(1) "b" 101 } 102 [2]=> 103 object(ReflectionParameter)#4 (1) { 104 ["name"]=> 105 string(1) "c" 106 } 107} 108--getNumberOfParameters-- 109int(3) 110--getNumberOfRequiredParameters-- 111int(1) 112Done 113