Страницы

Поиск по вопросам

вторник, 28 мая 2019 г.

Определение вызывающего родителя

Функция_А вызывает функцию_Б.
Подскажите пожалуйста, можно ли как-то находясь внутри функции_Б определить какая функция её вызвала?
И ещё интересует другая ситуация, а если вместо функции_А например просто скрипт, можно ли как-то определить это, чтобы например показало "main".


Ответ

Обычно, для этого получают стек вызова при помощи функции debug_backtrace(). Первый элемент будет содержать информацию о текущей функции, второй - об непосредственно родителе. Например:
"; $funcs = debug_backtrace(); echo "Parent: ". $funcs[1]['function']; }
function a($str) { b($str); }
a('Hello world!');
Результат
From b: Hello world! Parent: a

Комментариев нет:

Отправить комментарий