Semidynamische Webseiten mit "DynaHTML"
"DynaHTML" nutzt php-Code zur Erstellung und Aktualisierung statischer Webseiten
Motivation
Webseiten werden heute auf unterschiedlichste Arten für den Benutzer bereit gestellt: Als statische HTML-Seiten, unter Nutzung serverseitiger Skriptsprachen wie php oder unter Nutzung eines Content-Management-Systems. Statische Seiten werden dabei entweder manuell oder unter Nutzung eines Templating-Systems (bereit gestellt durch eine Bibliothek oder eine Webdesignanwendung) erstellt. Die unterschiedlichen Verfahren unterscheiden sich hinsichtlich Flexibilität, Herstellerabhängigkeit, Anforderungen an den Server uvm.
Viele Seiten werden einmalig erstellt und dann nur noch bei Bedarf aktualisiert. Statische Webseiten reichen hier aus, ein Content-Management-System oder dynamische Seitengenerierung mit php sind vergleichsweise komplex und verursachen unnötige Serverlast. Um statische Webseiten ohne Mühe in einheitlichem Design zu erstellen wird ein Templatingsystem eines Webeditors oder einer Zusatzbibliothek benötigt. Hier bindet man sich jedoch an einen Anbieter und die Komplexität ist auch wieder recht hoch.
Der "Wunschzettel" liest sich also wie folgt: Wir hätten gerne statische Webseiten, die in jedem beliebigen Webeditor bearbeitbar sind, jedoch in der Erstellungsphase mit der Flexibilität und Mächtigkeit eines Templatingsystems oder einer Skriptsprache anpassbar sind. Dabei soll Komplexität vermieden werden.
"DynaHTML" wurde entwickelt, um all diesen Wünschen Rechnung zu tragen.
Beschreibung
"DynaHTML" basiert auf drei Grundideen: 1) Die Skriptsprache php wird verwendet, um dynamische Elemente zu erstellen und größtmögliche Flexibilität zu erhalten. 2) Die Generierung der vom Webserver auszuliefernden statische Seiten erfolgt jeweils einmalig "auf Knopfdruck". 3) Sowohl der php-Code zur Generierung der Seiten als auch die generierten statische Seiten finden sich jeweils in der gleichen html-Datei.
Die letztgenannte Idee ist die eigentliche Innovation: Es werden statische html-Dateien genutzt, die als html-Kommentar php-Code enthalten, der bei Bedarf die Datei selbst aktualisiert. Die Dateien sind zu jedem Zeitpunkt gültige html-Dateien und können daher in beliebigen Webtools be- und verarbeitet werden.
Zur Vereinfachung habe ich bisher von statischen Webseiten gesprochen. Gründsätzlich dürfen Webseiten jedoch auch Code von Skriptsprachen, z.B. normale php-Tags, enthalten, d.h. mit "DynaHTML" kann auch der statische Teil dynamischer Seiten generiert werden.
"DynaHTML" wurde 2004/2005 entwickelt, weil ich in der Praxis Bedarf dafür gesehen habe und hat sich seither in vielen Gelegenheiten als nützlicher Helfer erwiesen. Auch diese Webseite ist mit Hilfe von DynaHTML erstellt, um ein einheitliches Design (über CSS-Möglichkeiten hinaus) zu erhalten und die Menüs und Hierarchieebenen zu verwalten. Die Seite ist manuell oder mit einem beliebigen Webeditor aktualisierbar und verwendet keinerlei Templatingsystem oder andere Bibliotheken.
Implementierung
"DynaHTML" ist ein kleines in php implementiertes Skript. Es parst html-Dateien, führt den in den html-Kommentaren der jeweiligen Datei enthaltenen php-Code aus und generiert aus der html-Datei selbst und der php-Ausgabe eine neue Version der html-Datei.