When troubleshooting code, it is often quite handy to know what function called the function that you are busy working your way through. To do this you need a backtrace, and PHP makes getting one pretty easy thanks to its debug_backtrace function.
If you are interested in only the calling function name itself, then this neat little function should work quite nicely:
function GetCallingFunctionName($debug = false) { //Returns the calling function through a backtrace $r = ''; $debugString = ''; $caller = debug_backtrace(); if ($debug === true) { $debugString.= ' <p>START: debug_backtrace result:</p>'; $debugString.= '<pre>'; $debugString.= print_r($caller, true); $debugString.= '</pre>'; $debugString.= '<p>END: debug_backtrace result:</p>'; } $caller = $caller[2]; $r .= $caller['function'] . '()'; if (isset($caller['class'])) { $r .= ' in ' . $caller['class']; } if (isset($caller['object'])) { $r .= ' (' . get_class($caller['object']) . ')'; } return $r . $debugString; }
Worth jotting down for the next time a function is giving me a headache for no apparent reason!
Related Link: debug_backtrace | Source 1