ich hab mir mal bissel den Code angeguckt und find einige Stellen doch einwenig komisch. Zum einen solltest du PHPCode und HTMLCode von einander trennen, mit sowas fährt man nie gut.
wird noch geändert werde warscheinlich auf die smarty engine umsteigen
Zum anderen solltest du dir die "DatenbankClients" nochmal überarbeiten, es ist schön un gut das du mehrere Db´s unterstützt jedoch ist es nicht so gut dies via Case um zu setzen, wenn das mit einem Interface machst und einer Factory die das ganze steuert, könntest viel mehr DBs supporten, da vermutlich MSSQL un Oracel net gehen würd(nur code überflogen), weil einfach die Syntax an machen stellen nicht gleich ist und es feine unterschiede gibt.
Zur DB noch kurz man sollte die Querys die man baut in ein Model verschieben un net mit anderen sachen mixen, somit ist der code bissel sauberer, ich finds persönlich am besten wenn pro Tabelle es eine Klasse gibt, damit man die querys an mehrern stellen nutzen kann und man bei DB änderungen gleich alles findet ohne hunderte Files durch zu gucken.
hab alles getestet bisher hat alles funktioniert
kann aber gerne für jeden datenbank typ ne eigene class machen
und zu den querys das wird noch geändert da ich ja auch powerdns unterstützen will muss das sowieso geändert werden siehe lib/server/ ordner dort liegen schon die klassen bereit dort werden dann auch die querys stehen
Auch solltest dir überlegen ob dies wirklich so sinnvoll ist
...
public static function connect($host, $user, $pw, $db, $driver, $port = Null) {
...
Diese Methode kann och allein auf die Config zugreifen um die ConnectDaten zu erhalten, ohne das man den spaß immer rein geben muss.
war ursprünglich so geplant das man verbindung zu mehreren datenbanken aufbauen kann
aber ja da hast du recht werde es ändern
Die Template Engine die du dir da gebaut hast, ist ja schön und gut jedoch gibt es um einiges bessere umsetzungen die viel mehr sachen dir bieten wie zum beispiel Twig oder Smarty.
wie oben gesagt werde ich warscheinlich auf smarty umsteigen
BTW wieso schreibst in viele dateien immer "if(!defined("IN_PAGE")) { die("no direct access allowed!"); }", mach dir doch einfach einen public ordner wo styles un eine index liegt. Auf diesen Ordner geht dann das DocRoot vom vhost, und in der Index includest dann einfach die anderen benötigten Files, am besten mit so einem Autoloader oder sowas in der Richtung.
das war ich nicht bzw. war nicht meine idee wie du in den commits siehst hat zwischenzeitlich ein freund bissi mit dran gebastelt und hat das eingeführt
da muss ich dir recht geben wird geändert
danke für dein feedback