phpbar.de logo

Mailinglisten-Archive

[php] PHP5: Erkennen ob Klasse abgeleitet wurde

[php] PHP5: Erkennen ob Klasse abgeleitet wurde

Hannes H. dubaut at gmail.com
Mon Jul 10 19:35:28 CEST 2006


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