Tom: Request Handling

Beitrag lesen

Hello,

Hi.

Wenn alle diese Klassen gleich aufgebaut sind, kann das auch im Konstruktor geregelt werden, den Formularnamen und den Aktionsnamen aus dem Post-Array auszulesen, denn das ist ja trotz OOP immer noch superglobal.

So hatte ich das eigentdich auch vor.

[Anm: Standard mit 'd', eigentlich mit 't'] :-)

Die Formulare könnten dann ihrerseits wieder Klassen sein, die nachgeladen werden, da ja immer nur ein Formular auf einmal aktiv sein kann. Und steuern kannst Du das dann alles über den Erfolg des Includes.

Allerdings muss man hier aufpassen und darf keine Werte aus dem POST-Array, auch keine Bezeichnernamen, direkt in die Verarbeitung übernehmen. Externe Werte sind böse[tm].

Du müsstest dir also zuerst eine Formatprüfung bauen, die die Namen auf Zulässigkeit checkt. Das wird i.d.R. einfach die Feststellung sein, dass keine Pfade in den Namen oder Werten codiert sind.

Dann könnte man als nächstes schauen, ob ein entsprechendes File zum Includen vorhanden ist.
In der äußeren Hülle eben die Sammelklasse und intern dann die Formularklasse, die von der jeweiligen Sammelklasse erbt.

Nach dem Laden der Formularklasse fragst Du dann einfach, ob eine entsprechende Methode mit dem Namen $aktionsname vorhanden ist und ruftst die dann auf.

http://de.php.net/manual/de/function.method-exists.php

Du erhältst dadurch eine hierarchische Struktur und musst immer nur sehr wenige Klassen, die ben zum jeweiligen Pfad gehören, laden.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

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