debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

debug_backtrace - Генерує стек викликів функцій

Опис

debug_backtrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit = 0): array

Функцияdebug_backtrace() генерує стек викликів функцій PHP.

Список параметрів

options

Цей параметр – бітова маска для наступних налаштувань:

Опції debug_backtrace()
DEBUG_BACKTRACE_PROVIDE_OBJECTЧи потрібно заповнювати ключ "object" (у виході масиві).
DEBUG_BACKTRACE_IGNORE_ARGSЧи потрібно виключити ключ "args" (з вихідного масиву) з супутнім виключенням всіх аргументів функцій/методів, щоб зменшити витрату пам'яті.

Зауваження :

Можливі чотири комбінації:

< /tr>

Опції debug_backtrace()
debug_backtrace()Заповнюються обидва ключі .
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(0)Не вмикається ключ "object" і заповнюється ключ "args".
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)Опускається ключ < code class="literal">"object" і ключ "args".
debug_backtrace(2)
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)Заповнюється ключ "object"і опускається ключ "args".
debug_backtrace(3)

limit

Цим параметром можна обмежити кількість функцій, що повертаються. За замовчуванням параметр (limit= ) — буде виведено весь стек викликів.

Значення, що повертаються

Функція повертає масив вкладених асоціативних масивів (array). Опис елементів масиву наведено нижче:

Список можливих елементів масивів, що повертаються функцією debug_backtrace()

ИмяТипОпис
functionstringІм'я поточної функції. Дивіться також __FUNCTION__
lineintПоточний номер рядка. Дивіться також __LINE__
filestringНазва поточного файлу. Дивіться також __FILE__
classstringІм'я поточного класуСмотрите также__CLASS__
objectobjectТекущийоб'єкт
typestringПоточний тип дзвінка функції. Якщо це виклик методу об'єкта, буде повернуто значення "->". Якщо це виклик статичного методу класу, то "::". Якщо це простий дзвінок функції, нічого не повертається.
argsarrayЯкщо (функція debug_backtrace()) викликана всередині функції, у цих ключах буде перераховано аргументи функцій. Якщо дзвінок здійснено всередині файлу, буде перераховано імена включених файлів.

Приклади

Приклад #1 Приклад використання debug_backtrace()****

Loading...

Результат аналогічний наведеному нижче, якщо запустити /tmp/b.php:

Привет, друг
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(8) "друг"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Дивіться також

  • trigger_error() - Викликає помилку користувача/попередження/повідомлення
  • debug_print_backtrace() - Виводить стек викликів функцій