debug_backtrace Генерирует обратную трассировку вызовов функций &reftitle.description; arraydebug_backtrace intoptionsDEBUG_BACKTRACE_PROVIDE_OBJECT intlimit0 Функция debug_backtrace генерирует обратный стек вызовов PHP-функций. &reftitle.parameters; options Параметр принимает битовую маску из следующих опций: Опции функции <function>debug_backtrace</function> DEBUG_BACKTRACE_PROVIDE_OBJECT Опция устанавливает бит, который определяет, заполнять ли ключ "object" в выходном массиве. DEBUG_BACKTRACE_IGNORE_ARGS Опция устанавливает бит, который определяет, исключать ли ключ "args" из выходного массива и вместе с ним аргументы функций и методов, чтобы уменьшить расход памяти.
Объединение опций даёт четыре возможные комбинации: Комбинации опций функции <function>debug_backtrace</function> debug_backtrace() Заполняются оба ключа. debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT) debug_backtrace(1) debug_backtrace(0) Не включается ключ "object" и заполняется ключ "args". debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) Опускается ключ "object" и ключ "args". debug_backtrace(2) debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS) Заполняется ключ "object" и опускается ключ "args". debug_backtrace(3)
limit Параметр ограничивает количество кадров стека в выходном массиве. Со значением по умолчанию — limit=0 — возвращается весь стек вызовов функций.
&reftitle.returnvalues; Функция возвращает массив вложенных ассоциативных массивов (array). Следующая таблица приводит список возможных элементов выходного массива: Возможные элементы массивов в результатах функции <function>debug_backtrace</function> &Name; &Type; &Description; function string Название текущей функции. Смотрите также описание константы __FUNCTION__. line int Текущий номер строки. Смотрите также описание константы __LINE__. file string Название текущего файла. Смотрите также описание константы __FILE__. class string Название текущего класса. Смотрите также описание константы __CLASS__. object object Текущий объект. type string Текущий тип вызова функции. При вызове метода объекта функция возвращает значение "->". При вызове статического метода класса возвращается "::". При вызове функции ничего не возвращается. args array При вызове этой функции внутри другой функции элементы с этим ключом содержат списки аргументов функций. При вызове внутри включаемого файла элемент содержит названия включённых файлов.
&reftitle.examples; Пример генерации обратной трассировки вызовов функцией <function>debug_backtrace</function> ]]> При выполнении файла /tmp/b.php PHP выведет результат наподобие такого: 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" } } ]]> &reftitle.seealso; trigger_error debug_print_backtrace