From: erm at the-erm dot com Operating system: any PHP version: 5.1.1 PHP Bug Type: Feature/Change Request Bug description: magic constant __CALLED_FROM__
Description: ------------ Please add a new magic constant like __FUNCTION__ only it displays what function the current function was called from. This would be good for debugging, and an error handleling function. Reproduce code: --------------- // I know die could do it. This is just an example function error($error) { echo "There was an error in '".__CALLED_FROM__." '$error"; } function normal($arg) { // For debuging: echo __FUNCTION__.'called from:'.__CALLED_FROM__."\n"; echo $arg; } function call_normal() { normal("Some Text\n"); } function call_normal_again() { normal("Other Text\n"); } normal("hi\n";); call_normal(); call_normal_again(); error("No Error\n"); Expected result: ---------------- normal called from: hi normal called from:call_normal Some Text normal called from:call_normal_again Other Text There was an error in '' No Error My examples are pretty basic, but I can see where a magic constant like __CALLED_FROM__ could be very useful. You could use it to make sure that the data that a function is getting fed is the right data, and if there's an error report what function did the call. So then you can fix it faster, and more efficiently. Thanks ahead of time for adding it, and if not thanks for your time. Actual result: -------------- n/a -- Edit bug report at http://bugs.php.net/?id=35727&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=35727&r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=35727&r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=35727&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=35727&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=35727&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=35727&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=35727&r=needscript Try newer version: http://bugs.php.net/fix.php?id=35727&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=35727&r=support Expected behavior: http://bugs.php.net/fix.php?id=35727&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=35727&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=35727&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=35727&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=35727&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=35727&r=dst IIS Stability: http://bugs.php.net/fix.php?id=35727&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=35727&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=35727&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=35727&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=35727&r=mysqlcfg