phpbar.de logo

Mailinglisten-Archive

[php] Templates - welche klasse ist die beste ?

[php] Templates - welche klasse ist die beste ?

Oliver Michalak php_(at)_phpcenter.de
Fri, 26 Apr 2002 20:24:14 +0200


>Hm. Der Sinn eines Template-Systems ist es doch, möglichst
>keine Programmlogik im Template zu haben.

Die Motivation dazu ist aus dem Alltag heraus für mittlere bis größere
Projekte auch ersichtlich, allerdings erscheint die "reine" Aufteilung in
Komponenten und Logik auch wiederum kaum alltagstauglich, denn das
visuelle Erscheinen der Seiten ist dann doch begrenzt oder eingeschränkt.

Beispiel: wenn Coder und Designer an einem Projekt in GoLive (oder DW,
egal) zusammenarbeiten, dann gibt es natürlich ganz verschiedene
Schwerpunkte bei der Arbeit: die eine Gruppe arbeitet "visuell" am HTML-
Code, die andere Gruppe arbeitet an der "Ablauf"-Logik.
Letztendlich diktiert allerdings http mit seinen Verweisen, daraus online
wieder eine Einheit zu bilden, warum also das nicht auch in der
Produktion versuchen? (zumal beide Gruppen dadurch ein besseres
Verständnis für die Arbeit der anderen Gruppe entwickeln)

Im Einsatz haben wir deshalb eine Template-Klasse, die im HTML-Code (also
zwischen <html> und </html>) Platzhalter für Texte, Grafiken oder Links
in Form von Pseudotags setzt und darüber hinaus noch if-then-else-
Konstrukte innerhalb einer Seite zuläßt - nach dem </html>-Tag kommt dann
unmittelbar in der Seite die dafür zuständige Ablauflogik, die dann die
Platzhalter entsprechend füllt/auswählt/verfielfältigt etc.

Vorteil:
- weitgehend visuelles Layouten
- keine Überschneidungen von Designer/Programmierern
- konventionelle Site-Management mit dem Vorteil, dass GoLive z.B. alle
statischen Links automatisch korrigiert
- schnell, da keine Template-Komponenten nachgeladen werden müssen
- noch schneller :) , da nur mit str_replace (keine reg. Exp) gearbeitet wird
- mächtig: exklusive Layoutgruppen innerhalb einer Seite, dyn./
geschachtelte Blöcke, post-processing von Cookies oder allg. aller
Header-Direktiven

Nachteil:
- Caching ist noch nicht eingebaut (benötigten wir in unseren bisherigen
Projekten noch nicht)
- die Extension für GoLive zum D&D der Platzhalterobjekte ist noch nicht
fertig

--
Oliver Michalak
www.werk01.de / omich_(at)_werk01.de / 0(049)177 - 75 75 393


php::bar PHP Wiki   -   Listenarchive