PHP.SU - Функция debug_backtrace() - Выводит стек вызовов функций в массив

  Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Функции PHP
 
 
Функции PHP » Функции обработки ошибок

debug_backtrace

Версия: (PHP 4 >= 4.3.0, PHP 5, PHP 7)

debug_backtrace - Выводит стек вызовов функций в массив

Синтаксис:

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

Параметры:

options - В версии 5.3.6, этот аргумент является битовой маской для следующих настроек:
Настройки debug_backtrace()
DEBUG_BACKTRACE_PROVIDE_OBJECT Требуется или нет заполнять данные "объектов".
DEBUG_BACKTRACE_IGNORE_ARGS Требуется или нет не выводить данные с индексом "args", то есть списки аргументов всех функций/методов, для уменьшения расхода памяти.
До версии 5.3.6 принимаются только значения TRUE или FALSE, которые означают, задана настройка DEBUG_BACKTRACE_PROVIDE_OBJECT или нет соответственно.

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



Список изменений:

Версия Описание
5.4.0 Добавлен необязательный аргумент limit.
5.3.6 Аргумент provide_object заменен на options и добавлена дополнительная настройка DEBUG_BACKTRACE_IGNORE_ARGS.
5.2.5 Добавлен необязательный аргумент provide_object.
5.1.1 Элементом возвращаемого массива теперь может быть текущий объект object.

Описание

debug_backtrace() выводит стек вызовов функций PHP в массив.

Возвращаемые значения

Возвращает массив вложенных ассоциативных массивов (array). Описание элементов массива приведено ниже:

Список возможных значений элементов массивов, возвращаемых функцией debug_backtrace()
Имя Тип Описание
function string Имя текущей функции. См. также __FUNCTION__.
line integer Текущий номер строки. См. также __LINE__.
file string Имя текущего файла. См. также __FILE__.
class string Имя текущего класса. См. также __CLASS__
object object Текущий объект.
type string Текущий тип вызова функции. Если это вызов метода объекта, будет выведено "->". Если это вызов статического метода класса, то "::". Если это простой вызов функции, не выводится ничего.
args array При нахождении внутри функции, будет выведен список аргументов этой функции. Если внутри включаемого файла, будет выведен список включаемых файлов.

Примеры:

Пример 1 Пример использования debug_backtrace()

PHP: скопировать код в буфер обмена
  1. // filename: /tmp/a.php
  2.  
  3. function a_test($str)
  4. {
  5.     echo "\nHi: $str";
  6. }
  7.  
  8. a_test('friend');
  9.  
  10. // filename: /tmp/b.php
  11. include_once '/tmp/a.php';

Результат аналогичен приведенному ниже, если запустить /tmp/b.php:
  1.  
  2. Hi: friend
  3. array(2) {
  4. [0]=>
  5. array(4) {
  6.     ["file"] => string(10) "/tmp/a.php"
  7.     ["line"] => int(10)
  8.     ["function"] => string(6) "a_test"
  9.     ["args"]=>
  10.     array(1) {
  11.       [0] => &string(6) "friend"
  12.     }
  13. }
  14. [1]=>
  15. array(4) {
  16.     ["file"] => string(10) "/tmp/b.php"
  17.     ["line"] => int(2)
  18.     ["args"] =>
  19.     array(1) {
  20.       [0] => string(10) "/tmp/a.php"
  21.     }
  22.     ["function"] => string(12) "include_once"
  23.   }
  24. }
  25.  

Смотрите также:

trigger_error() - генерирует сообщение error/warning/notice пользовательского уровня.
debug_print_backtrace() - Выводит стек вызовов функций


 Функции по алфавиту 
   Содержание   
 Функции по категориям 

Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS