借助了ReflectionMethod的一些特性,可以快速獲得函數或者方法是在哪個文件的什麼位置定義的,對於調試沒有文檔的程序來說很有幫助!
代碼如下復制代碼
functionfunction_dump($funcname) {
try{
if(is_array($funcname)) {
$func=newReflectionMethod($funcname[0],$funcname[1]);
$funcname=$funcname[1];
}else{
$func=newReflectionFunction($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('get_affiliate');輸出:
代碼如下復制代碼functionget_affiliate defined by D:\WWW\admin\affiliate.php(232 - 238)