Tom: Request Handling

Beitrag lesen

Hello,

Also kommen in den Frontcontroller dann IF-Abfragen, um zu checken was für ein Requests es ist und dann wird passend gehandelt.

Nein. Wenn DU sauber objektorientiert programmierst, brauchst Du keine Bedingungsausscheidung für die Methoden mehr. Lediglich für die Klasse würde ich aus Sicherheitsgründen eine machen. Alternativ könntest Du schreiben (was aber so aber ggf. gefährlich ist!, darüber muss man nochmal nachdenken, aber das hat Christian Seiler ja schon in seinem Artikel getan *g*):

if (isset($_POST['btn']) and is_array($_POST['btn']))
{
    $classname = key($_POST['btn']);

$class = new $classname();

$class->work();

}

Mehr musst Du nicht mehr schreiben. Alles andere würde dann durch den Autoloader veranlasst. Da alle Deine Klassen von einer Masterklasse abstammen, haben sie auch alle die Methode work() implemnentiert.

Da immer nur eine dieser Arbeitsklassen und in dieser nur eine Formularklasse gleichzeitig aktiv sein kann (es dürften mehrere, Singelton ist also hier falsch), wird der Baum bereits mit der Instantiierung der Arbeitsklasse gepflanzt.

Die Arbeitsklasse (2. Stufe Eingangscontroller) überprüft dann automatisch das weitere $_POST['btn']-Array und instantiiert die $form-Instanz. usw.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de