Hàm debug_backtrace() của PHP

Mô hình

Tạo backtrace PHP:

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

Kết quả đầu ra của mã trên sẽ tương tự như thế này:

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

Định nghĩa và cách sử dụng

Hàm debug_backtrace() tạo backtrace (tracing lại)

Hàm này hiển thị dữ liệu được tạo bởi mã của hàm debug_backtrace().

Trả về một mảng liên kết.

Tên Loại Mô tả
function chuỗi Tên hàm hiện tại
line số nguyên Số dòng hiện tại
file chuỗi Tên tệp hiện tại
class chuỗi Tên lớp hiện tại
object object Đối tượng hiện tại
loại chuỗi

Loại gọi hiện tại. Các loại gọi có thể:

  • Trả về: "->" - gọi phương thức
  • Trả về: "::" - gọi phương thức tĩnh
  • Trả về nothing - gọi hàm
args mảng Nếu trong hàm, liệt kê các tham số của hàm. Nếu trong tệp được tham chiếu, liệt kê tên tệp được tham chiếu.

Cú pháp

debug_backtrace(options,limit);
Tham số Mô tả
options

Tùy chọn. Định nghĩa mác bit cho các tùy chọn sau:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (Có nên lấp đầy chỉ số "object" không)
  • DEBUG_BACKTRACE_IGNORE_ARGS (Có nên bỏ qua chỉ số "args" không, bao gồm tất cả các tham số của function/method, có thể tiết kiệm chi phí bộ nhớ.)
limit Tùy chọn. Giới hạn số lượng khung đ stack trả về. Mặc định là (limit=0) trả về tất cả các khung đ stack.

Chi tiết kỹ thuật

Trả về giá trị: None
Phiên bản PHP: 4.3+
PHP nhật ký cập nhật

PHP 5.4: đã thêm tham số tùy chọn limit.

PHP 5.3.6: tham số provide_object đổi thành optionsvà đã tăng thêm tham số tùy chọn DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5: đã thêm tham số tùy chọn provide_object.

PHP 5.1.1: đã thêm hiện tại object Để có thể trả về các phần tử.