ホームページ  >  記事  >  バックエンド開発  >  PHP のデバッグ関数 debug_backtrace

PHP のデバッグ関数 debug_backtrace

不言
不言オリジナル
2018-04-20 13:25:111585ブラウズ

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_OBJECTPHP 公式ドキュメント:

http://php.net/manual/zh/function。 debug-backtrace.php

関連する推奨事項 :

phpstorm+xdebug はブレークポイント デバッグ php

を実装します

以上がPHP のデバッグ関数 debug_backtraceの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。