Функция_А вызывает функцию_Б.
Подскажите пожалуйста, можно ли как-то находясь внутри функции_Б определить какая функция её вызвала?
И ещё интересует другая ситуация, а если вместо функции_А например просто скрипт, можно ли как-то определить это, чтобы например показало "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
Комментариев нет:
Отправить комментарий