Moin!
Wenn ich mal unprofessionell (mit PHP 5 Objekten habe ich noch nicht zu tun gehabt) da reinkritzeln darf:
<?php
abstract class Foo {
public final static function getClassname() {
return get_class();
}
}
class Bar1 extends Foo {
function getClassname() {
return "Bar1";
}
}
class Bar2 extends Foo {}
function getClassname() {
return "Bar2";
}
}
echo Bar1::getClassname();
?>
>
> Ich möchte von der abstrakten Klasse Foo mehrere konkrete Klassen wie z.B. Bar1 ableiten. In der Klasse Foo soll später eine Fabrik dann über den Aufruf Bar1::getInstance() ein Objekt der Klasse Bar1 zurückgeben. Um dieses zu tun, muss allerdings die statische Methode Foo::getInstance() wissen, mittels welcher Klasse sie aufgerufen wurde.
Alternativ kann natürlich in jeder abgeleiteten Klasse auch eine lokale Fabrikmethode stehen, die ihrerseits die zentrale Fabrikmethode mit dem passenden Parameter aufruft.
- Sven Rautenberg
--
My sssignature, my preciousssss!