HTML Templates - File oder Datenbank

Chance

Member
Im Momment speichere ich meine Templates in Files ab.
Vorher war das Argument, das es Performanter wäre, aber zählt das noch ?

Es wäre auch eine Möglichkeit, die Templates zu spiegeln, so das Sie in der DB exestieren, aber von Festplatte gelesen werden (ich weiss, die DB ist auch auf der Festplatte ^^).
 

rellek

relativ sensationell
Teammitglied
Ich fand das eigentlich ganz clever wie es beim wBB ab v2.1 gemacht wurde. Da lagen die Templates in der Datenbank und wurden dann kompilliert (weil ja Scripting möglich war) im Dateisystem gespeichert. Nachteil ist jedoch, dass man dann dem entsprechenden Ordner Schreibrechte geben muss.

Aber eigentlich halte ich vom Dateisystem zu lesen für ganz günstig. Dann kann man nämlich ohne phpMyAdmin auch was wieder heil machen, wenn man was geschrottet hat. Zudem sparts mindestens eine SQL-Abfrage (die zwar mMn. vollkommen überbewertet werden...) - und das sieht zumindest auf dem Papier gut aus. *g*
 

Chance

Member
Meine Templates werden nicht Compiliert, da kein Scripting drin ist.

Die Spiegelung erscheint mir im momment am sinvollsten, da man die Templates bequem über den Admin Bereich steuern kann und im Notfall direkt darauf zugreifen kann.
 

rellek

relativ sensationell
Teammitglied
Joah Scripting ist schon recht praktisch ;)

Aber gut ich habe zwar für Spiegelung gestimmt... Möchte das aber relativieren. Das ist denk ich nur dann sinnvoll, wenn man die Software fertig hat und danach nichts grossartiges mehr verändern möchte.
Weil wenn die Templates nur im Filesystem liegen, kann man sie schön mit einem beliebigen Text-Editor bearbeiten, der dann beispielsweise Syntax-Highlighting und die Einrückungen unterstützt.

Andererseits gibts ja auch noch WebDAV (aber nicht überall). Schwierig, schwierig... :)
 

rellek

relativ sensationell
Teammitglied
Was ich damit sagen wollte: Es hat (afaik?) noch niemand einen JS-Template-Editor gebaut, der zumindest annähernd an den Komfort eines mittelprächtigen Quellcode-Editors ranreichen würde ;)
 

Chance

Member
Auch wieder wahr... aber "is ja nur HTML" ^^ :D .
Oder einfach das HTML file importieren, nachdem man es geändert hat.
 

rellek

relativ sensationell
Teammitglied
Darf man fragen wieso?

Nach Edit des Templates wirds im Filesystem gespeichert...dann ist das im FS immer aktuell und man brauchts nicht 2x laden? Oder hab ich da jetzt was falsch verstanden?
 

rellek

relativ sensationell
Teammitglied
Ja aber man muss ja nicht gezwungenermassen bei jedem Templateaufruf in der DB nachgeschaut werden obs noch aktuell ist. Dann kann mans auch gleich aus der DB holen ;)
 

DodoMedia

Member
Bei Backend gestützten Template-Edits mach ich das so, dass ich das Template im Filesystem und in der Datenbank speichere. Wird das Template nicht im Filesystem gefunden, dann versucht er sein Glück in der Datenbank. :p
 

Chance

Member
Ich habe mich dafür entschieden, die geparsten Tamplates in der DB zu speichern, und die orginal HTML Files zu spiegeln.
 

rellek

relativ sensationell
Teammitglied
Hm also mir ist aufgefallen, dass für fast alle Beteiligten es einfacher ist, wenn man alles im Filesystem speichert. Durch die Prüfung der letzten Änderung der Datei würde man ja wissen, wann man neu cachen muss.

Das, was letztlich angezeigt werden soll, aus der DB zu holen, halte ich für verschenkte Performance, irgendwie.
 

Chance

Member
Ist ja noch im Flow das System ^^ . Und das Umstellen auf Filebasiert wäre auch kein Problem.
Aber wo speichert man den Änderungswert zwischen ? In der DB ?
Mir kommt es auch auf eine gute verwaltung des Templates an.
 

rellek

relativ sensationell
Teammitglied
Chance' schrieb:
Aber wo speichert man den Änderungswert zwischen ? In der DB ?
Brauchst du nicht. Du kannst doch das Datum der letzten Änderung überprüfen (http://www.php.net/manual/de/function.filemtime.php) - wenn der Cache nicht existiert oder älter ist als die Rohversion, dann ab in den Compiler.

Bearbeiten kannst du die Rohtemplates dann im Filesystem über FTP/DAV/SCP/whatever und/oder du baust dir im Backend eine Edit-Funktion ein. Dann müssen aber auch die Rohtemplates Schreibrechte haben, sonst ists witzlos.
 

Nexan

Pre Alpha Release Candidate Beta 0.0.0.0.0.0.1
Aber wäre eine Art Backup in der DB nicht sicherer? Also falls das File verschwindet oder beschädigt wird könnte man es aus dem Datenbank Eintrag neu bauen lassen.
 

rellek

relativ sensationell
Teammitglied
Und wenn die class.db.mysql.php verschwindet oder beschädigt wird, kommen wir auch nicht mehr ans Backup in der DB ;)
 

Chance

Member
Und wenn die class.db.mysql.php verschwindet oder beschädigt wird, kommen wir auch nicht mehr ans Backup in der DB ;)
PHPMyAdmim :D .

Drei HD Abfragen oder eine HD und ein Query... was ist besser ?
Oder nur ein Query, wenn ich eine Option zum manuellen Neueinlesen einbaue.
 
Oben