Funkcja PHP debug_backtrace()

Przykład

Generowanie PHP backtrace:

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

Wyjście kodu wygląda podobnie jak:

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

Definicja i użycie

Funkcja debug_backtrace() generuje backtrace (śledzenie powrotu).

Funkcja ta wyświetla dane generowane przez kod funkcji debug_backtrace().

Zwraca tablicę asocjalną. Możliwe elementy do zwrócenia to:

Nazwa Typ Opis
function string Bieżąca nazwa funkcji
line integer Bieżący numer wiersza
file string Bieżąca nazwa pliku
class string Bieżąca nazwa klasy
obiekt obiekt Bieżący obiekt
type string

Aktualny typ wywołania. Możliwe wywołania:

  • Zwraca: "->" - wywołanie metody
  • Zwraca: "::" - wywołanie metody statycznej
  • Zwraca nothing - wywołanie funkcji
args array Jeśli znajdujesz się w funkcji, wymień parametry funkcji. Jeśli znajdujesz się w odwołanym pliku, wymień nazwę pliku odwołanego.

Gramatyka

debug_backtrace(opcje,limit);
Parametr Opis
opcje

Opcjonalnie. Określ maskę bitową dla poniższych opcji:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (czy wypełniać indeks "object")
  • DEBUG_BACKTRACE_IGNORE_ARGS (czy pomijać indeks "args", w tym wszystkich argumentów funkcji/metody, co może oszczędzić koszty pamięci.)
limit Opcjonalnie. Ogranicz liczbę zwracanych ramek stosu. Domyślnie to (limit=0) zwraca wszystkie ramy stosu.

Szczegóły techniczne

Wartość zwracana: None
Wersja PHP: 4.3+
Dziennik aktualizacji PHP

PHP 5.4: dodano opcjonalny parametr limit.

PHP 5.3.6: parametr provide_object zmienić na opcje, a także dodano opcjonalny parametr DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5: dodano opcjonalny parametr provide_object.

PHP 5.1.1: dodano bieżący obiekt Dla możliwych do zwrotu elementów.