Mailinglisten-Archive |
Guten Abend :-)
Ausgangssituation: Ich habe eine Basis-Klasse, in der Datenbank-,
Error- und Session-Handling implementiert sind, und von dieser werden
diverse andere Klassen abgeleitet. Abstrakt beschrieben, sieht das so
aus:
abstract class A {
protected __construct() {
/* Datenbank-, Error-, Sessionhandling */
}
}
class B extends A {
protected __construct() {
parent::__construct();
}
}
class C extends A {
protected __constrcut() {
parent::__construct();
}
}
Folgendes Problem stellt sich: Mit einer einzigen Ausnahme (nämlich
bei Instatnzen der Klasse C) soll der Konstruktor der Basisklasse
komplett abgearbeitet werden. Bei Instanzen der Klasse C sollen Teile
nicht ausgeführt werden, aber der Rest vom Konstruktor schon. Bietet
PHP5 eine Möglichkeit, in parent::__construct() zu ermitteln, welche
abgeleitete Klasse intanziert wurde? Soweit ich das sehe, ist die
einzige Möglichkeit, dem Konstruktor einen Parameter mitzugeben, der
dann in der Basisklasse ausgewertet wird - aber irgend wie macht das
auf mich keinen all zu sauberen Eindruck.
Irgend welche Ideen, liebe Liste?
Danke schon mal im Voraus!
#Hannes#
php::bar PHP Wiki - Listenarchive