您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
php的调用栈 如何快速查看一个方法是从什么地方被调用的?
发布时间:2021-01-15 22:06:49编辑:雪饮阅读()
对于一个你非常陌生的系统,如果时间又比较紧张的情况下如何快速去了解它的执行流程?
该系统中某个文件中某个方法你想要直到它是如何被代码一步步运行至此的,是如何一步步运行到该方法体的?
想要快速得到该答案就不得不提及php的debug_backtrace函数了,该函数会将php整个执行流程,从访问入口直到调用debug_backtrace方法处的所有关联的文件以及相关的行数都给你一一曝露出来。这就是调用栈。
使用调用栈可以快速的让你熟悉一个陌生的php项目。
那么具体使用如:
$array = debug_backtrace();
foreach ($array as $row) {
echo "<pre>";
print_r($row['file'] . ':' . $row['line'] . '行,调用方法:' . $row['function']);
echo "</pre>";
}
exit();
再来结合实际项目看看效果:
这里以中国某某某知名系统的代码为例,加入了调用栈获取并遍历后,再看看呈现的结果:
怎么样?有此利器是不是很爽呢。
关键字词:php,调用栈,方法从什么地方被调用的