共计 662 个字符,预计需要花费 2 分钟才能阅读完成。
当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。在 zend studio 这样的 IDE 中自是可以自动提示到,但当没有安装这样的开发工具时,我们可以怎么办呢?参考如下一段代码,或许就包含你所需的。
<?php | |
//摘自:http://www.dewen.org/q/10775 | |
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')); | |
?> |
正文完