"Robin Vickery" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On Wed, 16 Jun 2004 11:49:31 +0200, Torsten Roehr <[EMAIL PROTECTED]> wrote: > > > > Hi list, > > > > on RedHat with PHP 4.3.6 the following code produces 'test' - I'm expecting > > 'test2': > > > > class test { > > function printClass() { > > echo __CLASS__; > > } > > } > > > > class test2 extends test { > > } > > > > test2::printClass(); > > > > I would like to get/echo the name of the class calling the method - in my > > case test2. Any ideas? > > If you were using objects rather than class methods you could replace > __CLASS__ with get_class($this) ...but you're not. > > you could use debug_backtrace() > > function printClass() > { > $details = array_shift(debug_backtrace()); > print $details['class']; > }
Hi Robin, thanks! That will be a workaround for my problem. Unfortunately I can't use get_class() because I need to work with static methods here. I've got a factory method in my base class for creating objects and I don't want to pass the name of the class as a parameter. Thanks and best regards, Torsten Roehr -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php