Re: Re: Get name of extending class with static method call
| From: | Jason Barnett | Date: | Tue, 11 Jan 2005 22:20:46 +0000 |
| Subject: | Re: Re: Get name of extending class with static method call | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-206119@lists.php.net to get a copy of this message | ||
Christopher Fulton wrote:
This should work for you then....(maybe...i don't have php5 on my
system, so it may not, but i think it would.
http://us4.php.net/manual/en/function.get-class.php
class Car {
function drive() {
return get_class($this);
}
}
class Porshe {
}
$foo = new Porshe();
echo $foo->drive();
Chris, I was thinking of this as well. Except that the method drive is actually a static method so the class definition for Car is (I'm assuming) more like this:
<?php
class Car {
static function drive() {
/** I am a static function, so $this should not exist! */
/** However, class constants and static variables are available */
}
}
class Porsche extends Car { }
Porsche::drive();
?>
Torsten, I also found the following link to be helpful. Check out the user notes from michael at digitalgnosis dot removethis dot com (he did something similar to what I have already suggested, i.e. call_user_func)
http://www.php.net/manual/en/language.oop5.static.php
--
Teach a person to fish...
Ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html
PHP Manual: http://www.php.net/manual/en/index.php
php-general archives: http://marc.theaimsgroup.com/?l=php-general&w=2