ich habe das ganze im groben so
für jedes modul ein eigens dir
Ich habe ein Hauptobjekt das SQL Objekt / Template Objekt / Config etc beinhaltet, alle Module Erben alle Eigenschaften von diesem Objekt und fügen ihre eigenen hinzu.
Ruft man zb einen Artikel auf wird das Artikelobjekt erstellt das aber alle Eigenschaften und Methoden des Mainobjekts enthält, so habe ich immer Zugriff auf die DB Verbindung / die Templates und alle Config Daten ohne das alles jedesmal neu einzubinden.
So ist das ganze extrem gut wartbar und leicht erweiterbar, noch dazu binde ich so immer nur das ein was ich umbedingt brauche.
Momentan hat das Projekt wo ich meine Software einsetze (
http://www.speedsociety.de) etwa 3000 Unique Visitor am Tag und die Serverlast liegt bei 0,5-1% , bis jetzt bin ich also sehr zufrieden was die Performance angeht.
Ich habe zb auch eine eigene kleine Template Klasse dafür geschrieben weil ich den Overhead von Smarty vermeiden wollte da ich die meisten Dinge nicht brauche.