ฟังก์ชัน debug_backtrace() ของ PHP

ตัวอย่าง

สร้าง PHP backtrace:

<?php
 function a($txt) {
     b("Glenn");
 }
 function b($txt) {
     c("Cleveland");
}
 function c($txt) {
     var_dump(debug_backtrace());
 }
 a("Peter");
 ?> 

การพิมพ์ของโค้ดดังกล่าวคล้ายกันเช่นนี้:

Array (
     [0] => Array (
         [file] => C:\webfolder\test.php
         [line] => 6
         [function] => c
         [args] => Array (
             [0] => Cleveland
         )
     )
     [1] => Array (
         [file] => C:\webfolder\test.php
         [line] => 3
         [function] => b
         [args] => Array (
             [0] => Glenn
         )
     )
     [2] => Array (
         [file] => C:\webfolder\test.php
         [line] => 11
         [function] => a
         [args] => Array (
             [0] => Peter
         )
     )
 )

การประกาศและการใช้งาน

ฟังก์ชัน debug_backtrace() สร้าง backtrace (การตามรอยเดิน)

ฟังก์ชันนี้แสดงข้อมูลที่ถูกสร้างโดยรหัส debug_backtrace()

ส่งค่าแบบตัวแปรแบบภาษี

ชื่อ ประเภท คำอธิบาย
function string ชื่อฟังก์ชันปัจจุบัน
line integer เลขบรรทัดปัจจุบัน
file string ชื่อไฟล์ปัจจุบัน
class string ชื่อชั้นปัจจุบัน
object object เป้าหมายปัจจุบัน
type string

ประเภทการเรียกที่ปัจจุบัน ที่เป็นไปได้

  • กลับมา: "->" - การเรียกฟังก์ชัน
  • กลับมา: "::" - การเรียกมิเตอร์
  • กลับมา nothing - การเรียกฟังก์ชัน
args array ถ้าอยู่ในฟังก์ชัน แสดงตัวแปรของฟังก์ชัน ถ้าอยู่ในไฟล์ที่ถูกอ้างอิง แสดงชื่อไฟล์ที่ถูกอ้างอิง

รูปแบบการใช้

debug_backtrace(options,limit);
ปารามิเตอร์ คำอธิบาย
options

ทางเลือก。กำหนดมาสก์บิตสำหรับตัวเลือกต่อไปนี้:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (ว่าจะกรองเต็ม "object" หรือไม่)
  • DEBUG_BACKTRACE_IGNORE_ARGS (ว่าจะละเลย "args" หรือไม่ รวมทั้งตัวแปรทั้งหมดของ function/method ที่สามารถบริการความจำในระดับที่ต่ำลงได้)
limit ทางเลือก。จำกัดจำนวนหน่วยงานสตักเต็มที่กลับมา โดยเริ่มต้นค่าเริ่มต้นlimit=0) กลับมาทั้งหมดหน่วยงานสตักเต็ม

รายละเอียดเทคนิค

ค่าที่กลับมา: None
เวอร์ชัน PHP: 4.3+
บันทึกการปรับปรุง PHP

PHP 5.4: ได้เพิ่มปารามิเตอร์ที่เป็นทางเลือก limit.

PHP 5.3.6: ปารามิเตอร์ provide_object แก้ไขเป็น optionsและเพิ่มปารามิเตอร์ที่เป็นทางเลือก DEBUG_BACKTRACE_IGNORE_ARGS。

PHP 5.2.5: ได้เพิ่มปารามิเตอร์ที่เป็นทางเลือก provide_object.

PHP 5.1.1: ได้เพิ่มปัจจุบัน object สำหรับองค์ประกอบที่อาจจะกลับมา