当调试开源的代码时,希望查看某个函数的定义,那么就需要定位其位置。在 zend studio 这样的 IDE 中自是可以自动提示到,但当没有安装这样的开发工具时,我们可以怎么办呢?参考如下一段代码,或许就包含你所需的。
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\'));
?>
本文地址:https://www.stayed.cn/item/10092
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我