"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

Reply via email to