|
Posted by Edward Vermillion on 09/27/05 16:45
Thomas wrote:
> Hi,
>
> I want to find out if it is possible to get the file name and the line
> number of a calling script (__FILE__, __LINE_) from a calling class
> automatically.
>
> Let me explain:
>
> I have a db class which gets called in other classes. Now, when an sql error
> occurs I would like to find out which file and on which line it was.
>
> E.g.:
>
> [snip]
> class DB {
> function doQuery( $inq ) {
> ...
> if( !this_result ) {
> $this->drawError(**want the __FILE_ and __LINE__ of
> the calling script here** ..);
> ...
> }
> }
> }
>
> class Caller {
> function sql_doQuery() {
> $SQL->doQuery('SELECT me FROM WHERE id=0');
> }
> }
> [/snip]
>
> The drawError function outputs the error report to the browser and halts the
> script (developer debug).
>
> Currently I get the __FILE__ and __LINE__ of the DB class, i.e. where the
> query error happened (as in doQuery()).
>
> Instead I would like to get something like caller.fileName,
> caller.lineNumber (pseudo code).
>
> Is that at all possible without having to pass the file name and the line
> number into the query function manually?
>
> Thanks
>
> Thomas
>
>
> SPIRAL EYE STUDIOS
> P.O. Box 37907, Faerie Glen, 0043
>
> Tel: +27 12 362 3486
> Fax: +27 12 362 3493
> Mobile: +27 82 442 9228
> Email: thomas.hochstetter@gmx.net
> Web: www.spiraleye.co.za
>
How about having sql_doQuery() return false if it fails, then run
drawError() from the calling script and you'd have the __FILE__ and
__LINE__ there without doing a debug_backtrace() parse?
Just a thought.
Ed
Navigation:
[Reply to this message]
|