Startseite --> Projekte --> Template-Klasse

Template-Klasse

 Kurzbeschreibung
 Bemerkungen zur IF-Syntax
 Neues
 Download

Kurzbeschreibung

Wer größere Web-Anwendungen programmiert, bemerkt oft schnell, wie unübersichtlich es doch ist, wenn alle Meldungen, die ausgegeben werden, direkt im Quelltext des Scripts festgelegt sind. Außerdem kann es für unerfahrene Anwender zur Qual werden, wenn sie dieses Script herunterladen und versuchen, es anzupassen.

Eine Möglichkeit zur Lösung dieses Problem ist, einzelne Dateien anzulegen, die dann die Meldungen enthalten und diese bei Bedarf anzuzeigen. Doch man stößt leider schnell an die Grenzen dieser Methode, wenn das Script Daten erzeugt, die sich ständig ändern können, wie zum Beispiel bei einem Gästebuch.

Eine gute Lösung sind Templates. Sie können variable Blöcke enthalten, die dann vom Script durch die entsprechenden Daten ersetzt werden.
Ich möchte hier eine kleine Template-Klasse für Perl, PHP und Python anbieten. Sie erlaubt neben variablen Blöcken auch Abschnitte, die nur unter bestimmten Bedingungen angezeigt werden, einfache Schleifen, das Einbinden des Inhaltes anderer Dateien und weitere Kleinigkeiten.

 Nach oben  Nach unten

Bemerkungen zur IF-Syntax

Die Routine, die die bedingten Abschnitte verarbeitet, ist zugegebenermaßen etwas chaotisch. Einige Hardcore-Programmierer werden mir dafür wahrscheinlich Betonschuhe verpassen und mich ins Hafenbecken werfen, weil sie das lieber mit regulären Ausdrücken lösen, anstatt mit String-Positionen und Sub-Strings zu arbeiten.
Das ist mir ehrlich gesagt egal. Mir geht es ganz einfach darum, dass es funktioniert (und es funktioniert wunderbar). Ich habe keine Lust, mich großartig mit regulären Audrücken auseinanderzusetzen, weil diese mir sowieso nur Ärger bereiten. Ich bin froh, dass ich wenigstens etwas davon kapiere. Und ich glaube ohnehin nicht, dass sich diese IF-Abschnitte mit einem regulären Ausdruck auseinandernehmen lassen.

Die IF-Syntax enthält leider auch einen Bug. Wenn sich zwischen dem {IF} und dem {ENDIF} ein {IF  befindet, denkt der Parser, es wäre der Beginn eines weiteren {IF}-Blockes. Leider wird er nie das Ende dieses Blockes finden und beendet das Script, um nicht in eine Endlosschleife zu geraten. Ich habe bereits versucht, das Problem mit Hilfe von regulären Ausdrücken zu lösen, aber das verursachte neue Probleme.

 Nach oben  Nach unten

Neues

 Neu in Version 2.0 (vom 9.8.2006)

Change Log

 Nach oben  Nach unten

Download

Wenn Sie Interesse an der Template-Klasse haben, können Sie das Script unter Download von Scripts oder auch direkt hier herunterladen.
Die ZIP-Datei enthält die Perl-, die PHP- und die Python-Version und eine ReadMe-Datei mit Informationen zur Nutzung der Klasse. Ich hoffe, dass diese ReadMe-Datei verständlich genug ist. Wenn nicht, bitte melden Sie sich bei mir!

 template-class.zip (29,9 KByte)

Startseite --> Projekte --> Template-Klasse