function function_dump($funcname) {
try {
if(is_array($funcname)) {
$func = new ReflectionMethod($funcname[0], $funcname[1]);
$funcname = $funcname[1];
} else {
$func = new ReflectionFunction($funcname);
}
} catch (ReflectionException $e) {
echo $e->getMessage();
return;
}
$start = $func->getStartLine() - 1;
$end = $func->getEndLine() - 1;
$filename = $func->getFileName();
echo "function $funcname defined by $filename($start - $end)\n";
}
调用方法:
function_dump(函数名)
例如
<? function func1(){};
function function_dump($funcname)
{
try {
if(is_array($funcname)) {
$func = new ReflectionMethod($funcname[0], $funcname[1]); $funcname = $funcname[1];
}else { $func = new ReflectionFunction($funcname); }
} catch (ReflectionException $e) {
echo $e->getMessage();
return;
}
$start = $func->getStartLine() - 1;
$end = $func->getEndLine() - 1;
$filename = $func->getFileName();
return "function $funcname defined by $filename($start - $end)\n";
}
echo function_dump(func1);
运行结果:function func1 defined by /box/script.php(1 - 1)
(function 函数名 defined by [php文件位置]([定义起点] - [定义终点]))
Comments NOTHING