Функция PHP debug_backtrace()

Пример

Генерация PHP backtrace:

<?php
 функция a($txt) {
     b("Glenn");
 }
 функция b($txt) {
     c("Cleveland");
}
 функция c($txt) {
     var_dump(debug_backtrace());
 }
 a("Peter");
 ?> 

Вывод кода будет выглядеть примерно так:

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

Определение и использование

Функция debug_backtrace() генерирует backtrace (отладочный отступ).

Эта функция отображает данные, генерируемые кодом функции debug_backtrace().

Возвращает связанный массив. Возможные элементы могут быть такими:

Название Тип Описание
функция строка Текущее имя функции
строка целое число Текущий номер строки
файл строка Текущее имя файла
класс строка Текущее имя класса
объект объект Текущий объект
тип строка

Текущий тип вызова. Возможные вызовы:

  • Возвращает: "->" - вызов метода
  • Возвращает: "::" - вызов статического метода
  • Возвращает nothing - вызов функции
args массив Если функция используется в функции, перечислите параметры функции. Если используется в файле, перечислите имя файла, на котором ссылаются.

Синтаксис

debug_backtrace(опции,limit);
Параметр Описание
опции

Необязательный. Определяет битовую маску для следующих опций:

  • 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 изменено опциии добавлен необязательный параметр DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5: добавлен необязательный параметр provide_object.

PHP 5.1.1: добавлено текущее объект Для возможных элементов.