Re: Object Inheritance, get_class() and a static function call

From: Date: Tue, 26 Jul 2005 21:20:01 +0000
Subject: Re: Object Inheritance, get_class() and a static function call
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-219380@lists.php.net to get a copy of this message
Hello Richard, thanks for for your answer.
a> class ClassA {
a>    function getClassName() {
a>      return get_class($this); # [1]
a>    }
a> } a> class ClassB extends ClassA { } a> echo ClassB::getClassName(); a> this script echoes "Object" instead of "ClassB". but i would like to a> return the classname of the derived class without writing the method again. "The double colon, is a token that allows access to static, constant, and overridden members or methods of a class." Of which none of yours are (at least not in the code posted)
Sure! It's the first one: i'm calling a method of the class without instantiaton. it works even though the method isn't declared static. maybe this is the fault!? class ClassA { public static function getClassName() {
      return get_class($this); //  [1]
// or [2] return get_class(self); // or [3] return __CLASS__; } } class ClassB extends ClassA { } echo ClassB::getClassName();
Wouldn't get_parent_class() work in this situation?
No, because there is no parent class of ClassA and im searching for the name of the derived class. Maybe i will found the solution on http://php.belnet.be/manual/en/language.oop5.static.php Still reading... Best regards, Axel P.

« previous php.general (#219380) next »