ProfiPHPProfiPHP
Категория: Функции обработки ошибок

Функция Debug_backtrace

Функция Debug_backtrace выводит стек вызовов функций в массив.
array debug_backtrace ([ int $options [, int $limit ]] )
Параметр Options являет собой битовую маску для следующих настроек:

DEBUG_BACKTRACE_PROVIDE_OBJECT - Требуется или нет заполнять данные "объектов" (установлено по умолчанию).

DEBUG_BACKTRACE_IGNORE_ARGS - Требуется или нет не выводить данные с индексом "args", то есть списки аргументов всех функций/методов, для уменьшения расхода памяти.

До версии 5.3.6 принимаются только значения TRUE или FALSE, которые означают, задана настройка DEBUG_BACKTRACE_PROVIDE_OBJECT или нет соответственно.

Параметр Limit используется для ограничения количества вызовов функций, которые будут выведены. По умолчанию (limit=0) будет выведен весь стек вызовов.

Функция Debug_backtrace возвращает массив вложенных ассоциативных массивов (array).

Список возможных значений элементов массивов, возвращаемых функцией:

Function (string) - Имя текущей функции.

Line (integer) - Текущий номер строки.

File (string) - Имя текущего файла.

Class (string) - Имя текущего класса.

Object (object) - Текущий объект.

Type (string) - Текущий тип вызова функции. Если это вызов метода объекта, будет выведено "->". Если это вызов статического метода класса, то "::". Если это простой вызов функции, не выводится ничего.

Args (array) - При нахождении внутри функции, будет выведен список аргументов этой функции. Если внутри включаемого файла, будет выведен список включаемых файлов.

В имени текущей функции будет использоваться значение константы __FUNCTION__, для номера строки __LINE__, текущего файла __FILE__, и для текущего класса __CLASS__.

Функция Debug_backtrace создана для обработки ошибок и является очень полезным инструментом для отладки ваших сценариев.

Пример работы:
function myfunc( $name)
{
echo "My name: $name";
$db = debug_backtrace( );

echo '<pre>';
print_r( $db );
echo '</pre>';
}
myfunc( 'Endry' );

Результат работы:
My name: Endry

Array
(
[0] => Array
(
[file] => C:\localhost\profiphp\script.php
[line] => 23
[function] => myfunc
[args] => Array
(
[0] => Endry
)
)
)

Добавить комментарий

Имя:
Текст комментария: