Re: Getting the name of a function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 27, 2008 at 1:56 PM, Richard S. Crawford
<rscrawford@xxxxxxxxxxxx> wrote:
> For my own amusement, I'm writing a function that will print out detailed
>  error messages for an API that I'm creating for a minor project.  One of the
>  pieces of information I'd like to return would be the name of the function
>  that called the error function.
[snip!]
>  I know that I could pass the name of the function as a parameter to the
>  error() function (e.g. error("bad_function","This is dumb")) but I'd rather
>  keep it simpler than that.
>
>  Is there a way to do this?

    Not without a lower-level stack trace utility like xdebug, as far
as I know.  However, you can slightly modify your code to do this:

<?php
function error ($func,$message) {
   print "The error message is $message";
   print "The function that called the error was: ".$func."\n";
}

function bad_function($param) {
   error (__FUNCTION__,"This is dumb");
   return false;
}

bad_function("blah");
?>

    I also placed that online in my code library (to which I always
forget to link, but have dozens of examples), along with a function to
list all of the user-level functions available to the current script.

    [Demo]    http://www.pilotpig.net/code-library/function-info.php
    [Source]   http://www.pilotpig.net/code-library/source.php?f=function-info.php

-- 
</Dan>

Daniel P. Brown
Senior Unix Geek
<? while(1) { $me = $mind--; sleep(86400); } ?>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux