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

PHP でのデバッグ関数 debug_backtrace の使用の概要

巴扎黑
巴扎黑オリジナル
2017-09-14 10:15:551624ブラウズ

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 の最初のパラメータはデフォルトで次のようになります。定数

は、オブジェクトに関するこの情報を表示することを意味します。2 番目のパラメーターは、バックトレース スタックの数を制御するために使用されます。デフォルトは all です。

DEBUG_BACKTRACE_PROVIDE_OBJECT

効果は写真の通りで、呼び出しレベル間の関係は一目瞭然です:

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

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