>  기사  >  백엔드 개발  >  PHP에서 디버그 함수 debug_backtrace 사용 소개

PHP에서 디버그 함수 debug_backtrace 사용 소개

巴扎黑
巴扎黑원래의
2017-09-14 10:15:551626검색

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에서 디버그 함수 debug_backtrace 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.