前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP中调试函数debug_backtrace的使用示例代码

PHP中调试函数debug_backtrace的使用示例代码

作者头像
用户2323866
修改2021-07-06 10:58:35
4630
修改2021-07-06 10:58:35
举报
文章被收录于专栏:技术派

前言 如果我们想知道某个方法被谁调用了? debug_backtrace可以解决。debug_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然。 有时候我们想知道这个函数或方法的调用堆栈,也就是它是如何一级一级是被调用到的,可以用 PHP 的 debug_backtrace 函数打印,就像这样: 示例代码

代码语言:javascript
复制
public function update(Request $request, $id)
{
dd(debug_backtrace());
$getGameID = function ($request) {
if (!$request->game_id) {
return 1000 + intval($request->id);
}
return $request->game_id;
};

$previews = $this->getGamePreviews($request->game_//【本文中一些MYSQL版本可能是以前的,MYSQL建议使用5.7以上的版本】/【尽量使用一键安装脚本,要么自己做,要么网上下载或使用我博客的,把时间用在更多的地方,少做重复劳动的事情】/preview);

代码语言:javascript
复制
$request->merge([
'game_preview' => json_encode($previews),
'game_id' => $getGameID($request)
]);
EgretGame::where('id', $id)->update($request->except(['_token', '_method']));
return redirect()->route('egretgame.index')->with('success', '编辑成功!');
}

你可以控制需要回溯的堆栈层级数量,其中 debug_backtrace 第一个参数默认是一个常量 DEBUG_BACKTRACE_PROVIDE_OBJECT,表示显示这个对象的信息,第二个参数用于控制回溯的堆栈数量,默认是全部。 效果如图所示,调用层级的关系一目了然:

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档