baseportal erlaubt das Einbetten von Programmcode direkt in die HTML-Ausgabe. So bequem und schnell das bei einfachen Seiten ist, so verwirrend und umständlich zu pflegen wird dies bei komplexen Web-Anwendungen. Beim Erstellen grosser Websites ist eine der Philosophien deshalb die verschiedenen Aspekte der Web-Anwendung zu trennen und zwar in
- die Daten (Model)
- die Darstellung (View)
- die Programmierung (Controller)
kurz
MVC. Somit benötigen Änderungen beim Aussehen keine Änderungen am Code. Die Anwendung ist klarer strukturiert, leichter zu erweitern und einzelne Teile einfacher wiederzuverwenden.
baseportal unterstützt dies mit XML.
Ein Beispiel
Im folgenden entwickeln wir zusammen ein kleines Gästebuch in der MVC-Architektur.
Daten (Model)
Die Datenbank ist schnell eingerichtet:
Name
Titel
Text
Datum
Darstellung (View)
Die Ansicht wird über eine Ausgabeseite definiert. Statt den Programmcode direkt einzubetten verwenden wir eigene XML-Tags an der gewünschten Stelle:
<include src="programm" tags="formular,detail,liste">
<html><head><title>Mein Gästebuch</title></head>
<body>
<h1>Mein Gästebuch</h1>
<formular />
<detail />
<liste anzahl=10>
</body></html>
Zu Beginn wird mit include das zugehörige Programm geladen und die neuen Tags definiert.
Programmierung (Controller)
Nun müssen die einzelnen Tags mit "Leben", also der entsprechenden Programmierung, gefüllt werden. Dies geschieht über eine eigene Seite, die zu jedem Tag eine gleichnamige Funktion enthält:
sub formular
{
# Formular ausgeben
}
sub detailausgabe
{
# Eintrag im Detail ausgeben
}
sub listenausgabe
{
# Einträge als Liste ausgeben
# Die Parameter stehen in %_
# In diesem Fall "anzahl" also z.B. in $_{anzahl}
}
Letzte Änderung am 27.2.2007, 08:20 - Stichworte: MVC, Model, View, Controller, Trennung Layout / Programmierung, Entwickeln grosser Websites, XML