
PHP快速定位自定义function函数所在位置的例子。
<?php function a() { } class b { public function f() { } } 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('a'); function_dump(array('b', 'f')); $b = new b(); function_dump(array($b, 'f')); ?>
怎么说呢,好像有好多方法,但是这个感觉还是可以的,调试、二开经常能用到。
其他方法:
用IDE、phpstorm的话, 直接ctrl+鼠标单击.
用普通编辑器, 就整个项目下查找function 函数名
.
用反射类 echo (new ReflectionFunction('函数名'))->getFileName()
还没有评论,来说两句吧...