Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:10035 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 70168 invoked by uid 1010); 22 May 2004 19:33:07 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 70133 invoked by uid 1007); 22 May 2004 19:33:06 -0000 Message-ID: <20040522193306.70128.qmail@pb1.pair.com> To: internals@lists.php.net Date: Sat, 22 May 2004 21:32:58 +0200 References: <40AE9FF0.30008@hristov.com> <20040522084054.30545.qmail@pb1.pair.com> <20040522184328.31554.qmail@pb1.pair.com> Lines: 149 User-Agent: KNode/0.7.6 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Posted-By: 217.235.246.219 Subject: Re: [PHP-DEV] PHP5: expected __METHOD__ behavior From: schlueter@phpbar.de (Johannes Schlueter) Hi, Not really, too. Array ( [0] => Array ( [file] => - [line] => 8 [function] => foo [class] => a [type] => :: [args] => Array ( ) ) ) Array ( [0] => Array ( [file] => - [line] => 8 [function] => foo [class] => a [type] => :: [args] => Array ( ) ) ) in both cases it tells [class] => a, so one still needs to extend the foo()-Method: Array ( [0] => Array ( [file] => - [line] => 15 [function] => foo [class] => a [type] => :: [args] => Array ( ) ) ) Array ( [0] => Array ( [file] => - [line] => 11 [function] => foo [class] => a [type] => :: [args] => Array ( ) ) [1] => Array ( [file] => - [line] => 16 [function] => foo [class] => b [type] => :: [args] => Array ( ) ) ) Asyou can see at $bt = debug_backtrace(); $bt[1]['class'] the name is available - but only if the function wasextended like in the example.... johannes Sara Golemon wrote: > debug_backtrace(); > > Not the prettiest solution, but a reliable one nonetheless. > > -Sara > > "Johannes Schlueter" wrote in message > news:20040522084054.30545.qmail@pb1.pair.com... >> Hi, >> >> Andrey Hristov wrote: >> > echo get_class($this).'::'.__FUNCTION__ (when there is an instance of > the >> > class) but AFAIK in your case with static calls there is no solution. >> >> Is there some way to add a function (or some other magic thing) that >> works with static calls and call it a bug fix, so it can be in 5.0? If >> not: Is there a way to implement it and add it as a new feature with >> PHP5.1? Lately I needed such a thing while building some kind of >> framework. I > solved >> it by adding a function to my extended class which passes it's __CLASS__ > as >> an additional paramter to my base function - I don't really like it that >> way ;-) >> >> johannes