序
如果我们想知道谁调用了一个方法。可以解析Debug_backtrace。Debug_backtrace()可以打印出一个页面的调用过程,一眼就能看出你来自哪里。
有时候我们想知道这个函数或者方法的调用栈,也就是如何逐级调用,可以用PHP的debug_backtrace函数打印出来,就像这样:
示例代码
公共函数更新(Request $request,$ id){ DD(debug _ backtrace());$getGameID=函数($request) { if(!$ request-game _ id){ return 1000 int val($ request-id);}返回$ request-game _ id;};$ previews=$ this-GetGamePreviews($ request-game _ preview);$ request-merge([' game _ preview '=JSON _ encode($ preview),' game _ id '=$ getGameID($ request)];EgretGame:where('id ',$ id)-update($ request-除了(['_token ',' _ method ']));return redirect()-route(' egretgame。索引')-带有('成功','编辑成功!');}可以控制要回溯的堆栈层数,其中debug_backtrace的第一个参数默认为常量DEBUG_BACKTRACE_PROVIDE_OBJECT,表示显示该对象的信息,第二个参数用于控制回溯的堆栈数量,默认全部。
效果如图,通话级别之间的关系一目了然:
PHP官方文件:http://php.net/manual/zh/function.debug-backtrace.php
摘要
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。