借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档的程序来说很有帮助,代码如下:
- functionfunction_dump($funcname) {
- try{
- if(is_array($funcname)) {
- $func=newReflectionMethod($funcname[0],$funcname[1]);
- $funcname=$funcname[1];
- }else{
- $func=newReflectionFunction($funcname);
- } //Vevb.com
- }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)
新闻热点
疑难解答