Hallo dedlfix,
echo sub->test();
Äh, ja klar, Schwachsinn.
Vermutlich mit Late Static Bindings. Probieren kann ich es nicht, denn das gibt es erst ab PHP-Version 5.3, was erst zwischen Mitte September und Mitte Oktober erscheinen soll.
Ok, perfekt, danke!
Bis dahin hab ich's ganz fies gelöst:
abstract class super
{
static private $x = "Klappt nicht!!!";
static public function doWhatYouDo($str_caller)
{
return eval('return '.$str_caller.'::$x;');
}
}
class sub extends super
{
static private $x = "Hallo Welt";
static public function test()
{
// Vererbung funktioniert leider mit static NOCH nicht
// Abhilfe: "Late static bindings" ab PHP 5.3
// ==> http://de.php.net/manual/en/language.oop5.late-static-bindings.php
return parent::doWhatYouDo(__CLASS__);
}
}
echo sub::test();
Nunja, es funktioniert...
Eddie
--
Old men and far travelers may lie with authority.
Old men and far travelers may lie with authority.