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_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()
Имя | Тип | Опис |
---|---|---|
function | string | Ім'я поточної функції. Дивіться також __FUNCTION__ |
line | int | Поточний номер рядка. Дивіться також __LINE__ |
file | string | Назва поточного файлу. Дивіться також __FILE__ |
class | string | Ім'я поточного класуСмотрите также__CLASS__ |
object | object | Текущийоб'єкт |
type | string | Поточний тип дзвінка функції. Якщо це виклик методу об'єкта, буде повернуто значення "->". Якщо це виклик статичного методу класу, то "::". Якщо це простий дзвінок функції, нічого не повертається. |
args | array | Якщо (функція 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() - Виводить стек викликів функцій