Re: Object Inheritance, get_class() and a static function call
| From: | axel | 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.