phpbar.de logo

Mailinglisten-Archive

[pear] Template Engine Entscheidung

[pear] Template Engine Entscheidung

Lukas Smith smith at backendmedia.com
Sam Dez 20 13:12:15 CET 2003


> From: pear-bounces at phpbar.de [mailto:pear-bounces at phpbar.de] On Behalf Of
> Jens Kohl
> Sent: Friday, December 19, 2003 11:23 PM
> To: deutschsprachige PEAR-Mailingliste
> Subject: [pear] Template Engine Entscheidung
> 
> Hallo,
> 
> ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber
> mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich
> nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für
> keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und
> Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar
> nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht
> mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am
> besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt
> sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so
> Sachen wie QuickForms inkompatibel.
> 
> Liege ich mit meinen Verdächtigungen richtig? Gibt es einen
> Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche
> Engine ich für mich persönlich nutze

Grundsäzlich gibt es zwei dimensionen

Compile/not compile
Push/pull

Dabei sind die push/not compile und die pull/compile wohl die häufigsten

Push/not compile:
IT, ITX etc

Deine logic schiebt die daten in das template. Heisst das du in mehreren
stages die platzhalter und blöcke ersetzt. Nicht sonderlich effizient und
sehr unflexible, aber einfach zu bedienen und man kann keinen "bösencode" in
die templates einschleichen. Wie gesagt aber sehr unflexibel da viele layout
sachen in die logik müssen (wie z.B. alterierende farben in tabellen zeilen)

Push/compile
Sigma oder IT[X] mit cachen

Pull/compile
Xipe, smarty, flexy

Das template fordert selber die daten an
In der regel wird das template einfach in php code umgewandelt.
Problem ist hierbei das thema sicherheit, da user einfach auf alle teile des
system zu greifen können. In smarty und flexy kann man das ein bischen
kontrolieren, wenn man nur die engine spezifischen markupsachen erlaubt.
Dafür ist das alles sehr schnell und sehr flexibel. Ugly hacks sind auch
möglich (was gut und schlecht ist).

Gruss,
Lukas


php::bar PHP Wiki   -   Listenarchive