Andreas Korthaus: Web-Programme modular aufbauen

Beitrag lesen

Hallo!

Ich hatte eigentlich genau das vor längerer Zeit schonmal gepostet, aber das ist dann eigentlich "nur" auf eine Diskussion ob OOP oder nicht hinausgelaufen, damals sehr interessant für mich, aber heute habe ich dies bezüglich eine etwas anders gelagerte Frage:
Ich bin dabei eine Softwre zu schreiben, die verschiedene Module enthalten soll. Das heißt ein Basis-Modul mit der eigentlichen Basissoftware, und dazu kann man evtl noch zusätzliche Erweiterungen(Module) installieren, so z.B. ein Modul Mehrsprachigkeit, oder ein Modul Fragebogengenerator. Programmiert wird das ganze in PHP/PERL und MySQL.
Wie man an den beiden Beispielen sieht, greifen die Module unterschiedlich weit in die gesamte Anwendung ein, gerade die Mehrsprachigkeit z.B. recht weit. Module sollen nicht von vornherein vorhanden sein, sondern sich auch nachträglich installieren lassen.
Das heißt es muß bei der "nachinstallation" z.B. in die Navigationsleise ein zusätzlicher Einrag erfolgen, oder es muss noch ein Extra Menü für die Konfigurierung des Moduls eingefügrt werden. Merhsprachigkeit dagegenb müßte ja von vornherein vorgesehen werden, dazu habe ich auch schon einige Threads hier verfolgtm, weiß aber noch nicht so Recht welches jetzt der "goldene Weg" ist, dies zu implementieren. Mit dem Accept-Language Header des Browsers finde ich eher ungünstig, eher als Indiz für die Starteinstellung. Also muß ich alle Texte in Variabvlen speichenr und die wiederum in der Datenbank, und dann bei jedem Seitenaufruf erstmal alle Texte aus der Datenbank auslesen - auch nicht wirklich optimal. Oder wie könnte man das besser einarbeiten?
Noch so eine Sache ist wie man bei einee WEB-Anwendung eine Update-Funktion implementiert. D.h. wenn die Anwendung stetig weiterentwickelt wird, das dann sehr problemlos auf eine neue Version upgedatet werden kann, so dass alle Einstellungen und Daten bestehen bleiben... problematisch ist auch das Updaten über mehrere Versionen hinweg.
Naja, leider habe ich mit solchen Dingen so gut wie gar keine Erfahrung. Hat da vielleicht jemand Tipps für mich, oder kennt jemand Projekte wo das ganze gut gelöst wurde?

Viele Grüße
Andreas