debug_backtrace() は非常に地味な関数ですが、この記事では主に PHP のデバッグ関数 debug_backtrace の使い方をサンプル コードを通して詳しく紹介しています。みんなの学習のために、または、この作品には一定の参考と学習価値があります。興味のある友達が来て一緒に勉強することができます。
はじめに
誰が特定のメソッドを呼び出したかを知りたい場合は、debug_backtrace で解決できます。 debug_backtrace() は、ページの呼び出しプロセスを出力し、その呼び出し元を明確にします。
この関数またはメソッドの呼び出しスタック、つまりレベルごとに呼び出される方法を知りたい場合は、次のように PHP の debug_backtrace 関数を使用して出力できます。
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_preview); $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
PHP 公式ドキュメント:
関連する推奨事項 :
phpstorm+xdebug はブレークポイント デバッグ php
を実装します
以上がPHP のデバッグ関数 debug_backtraceの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。