Re: Unexpected behaviuor with __CLASS__

From: Date: Wed, 16 Jun 2004 12:49:24 +0000
Subject: Re: Unexpected behaviuor with __CLASS__
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-188390@lists.php.net to get a copy of this message
On Wed, 16 Jun 2004 11:49:31 +0200, Torsten Roehr <roehr@zilleon.com> 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']; } -robin

« previous php.general (#188390) next »