Hm, don't think debug_backtrace() can help you much. Reflection could work.
- Stig On Wed, 2004-02-04 at 02:14, Alan Knowles wrote: > It is a slightly annoying limitation.. - inherited static methods, cant > guess their called class... > I did look at a fix a while ago - it involved adding a pointer to the > called class name string, to the exectuter globals, whenever a > function is called in the engine... - then to retrieve it became > problematic as > - you cant really use a function as then it would assign the value again. > - no-one was too keen to have 'dynamic' constants... > > Actually - I AFAIR someone said that it may be fixed in PHP5 back then > :) - or suggested debug_backtrace.. (but I'm not sure if that is feasible) > > Regards > Alan > > Adam Bregenzer wrote: > > >Stig, > > > >On Tue, 2004-02-03 at 17:27, Stig S. Bakken wrote: > > > > > >>Try __CLASS__. > >> > >> > > > >Thank you for the reply. This does work for the class the method is > >defined in, however unfortunately it's not a solution for classes that > >inherit this method. Here's the sample code I used in my first post: > > > > > > > >class Foo { > > function getClassName() { > > // ??? > > } > >} > >class Bar extends Foo { > >} > > > >echo Foo::getClassName(); // returns 'foo' > >echo Bar::getClassName(); // returns 'bar' > > > >The solution I have right now that is inheritable, though very kludgy is > >this: > > > >class Foo { > > function someFunc($class_name) { > > return $class_name; > > } > >} > >class Bar extends Foo { > > function someFunc($class_name = NULL) { > > return parent::someFunc(isset($class_name) ? $class_name : __CLASS__); > > } > >} > > > > > > > >This does work, but I have to have this stub function copied into every > >class that inherits Foo, plus I have an extra parameter in there. Is > >there no better way? > > > >Thanks again, > >Adam > > > > > > -- "Nearly all men can stand adversity, but if you want to test a man's character, give him power." - Abraham Lincoln -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php