Получить родительскую __FUNCTION__ из дочерней функции

Есть ли способ (грязный - это нормально, это только для отладки) получить __FUNCTION__ (имя функции), откуда была вызвана функция?

пример;

function a() {
    //code
    return b();
}

function b() {
    return __PARENT_FUNCTION__
}

echo a();

Это должно дать a в качестве имени функции, которая изначально была вызвана для этого вывода.


php
person Tom    schedule 16.12.2015    source источник
comment
В тот момент, когда я просто передаю __FUNCTION__ в качестве параметра «дочерней» функции, было бы неплохо, если бы я мог делать это автоматически.   -  person Tom    schedule 16.12.2015


Ответы (1)


Взгляните на debug_backtrace.

function a() {
    //code
    return b();
}

function b() {

    return debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)[0]["function"];
}

echo a();
person jolmos    schedule 16.12.2015
comment
Отлично, хотя я немного изменил его на debug_backtrace()[1]['function'];, как в дублировать ссылку - person Tom; 16.12.2015