Rello!
Smarty hat sich wohl sehr gut behauptet und scheint auch aus meiner
Sicht ein gutes TS zu sein.
Ich habe u.A. gestern schnell die gesamte Dokumentation
durchgearbeitet und mich auf den neuesten Stand gebracht.
Ja, das Trennen von Design usw tönt verlockend..
Der Sicherheitsaspekt ist auch wichtig..
Man muss sich jedoch bewusstsein, dass sich bsp. auch in
Templatesystemen resp ihrer Sprache viele Syntaxfehler einschleichen
können, welche genauso zu einem Parserfehler führen.
Sicherheit gibt dies zwar vor unberechtigtem Nutzen von
internen Funktionen, nicht aber vor 'Zerstörung des Templates'.
Die Paranoide Einstellung kann ich speziell nicht unterstützen,
denn der Einsatz eines Templatesystemes schützt überhauptnicht vor
Missbrauch. Man muss sich bewusstsein, dass der 'Designer' in keinem
Falle eine Person ist, vor der sich der Programmierer schützen muss!
Es handelt sich um eine Person welche vertrauenswürdig ist.
Existiert eine Schnittstelle zum bsp. zu einer DB zuzugreifen,
(Mutationsfunktionen, ...), existieren diese Funktionen im
Templatesystem grundlegend. Je breiter das TS angesiedelt wird,
umso breiter wird die Unterstützung für solcher Funktionen. Je
generischer dabei die Implementation, umso mehr Optionen können
im Design generisch verwendet werden. Konsequenz: Schon wieder
könnte der Designer mist bauen.. usw..
Meine Sorge gilt hier der Implementation (Programmierer):
Eine saubere Einbindung in ein Grundkonzept ist echt komplex. Muss
ich ein System als Template abbilden, das sehr viele gesteuerte
Elemente ausgibt (hochgradige Dynamisierung nicht nur des Inhaltes,
sondern der Dokumentstruktur), führt dazu, dass man ein solches
Script nichtmehr vernünftig in einem visuellen Editor bearbeiten kann!
Ich habe hier noch keine brauchbare Lösung gesehen, und das ist weder
bei PHP als Sprache noch bei Templatesystemen besser..
Verschnipselt man es bereits bei der Entwicklung in viele kleine
Stücke, weisen dieselben wieder Abhängigkeiten auf. Das Design wird
durch diese weitgehend definiert!
Ändert man hier etwas an der Logik der Bedienung, ist die direkte
Konsequenz eine komplette Anpassung der Verarbeitungslogik.
Diese enge Bindung macht mir vielmehr Sorgen, als jede Kopplung an
den Datenmodellkern! Hier hören meine konkreten Lösungsvorstellungen
punkto Optimum in der Implementation auf, und ich glaube nicht, dass
diese Frage schnell beantwortet werden kann.
Ein Monat wär' kein Problem, ich hab' zu tun bis dann :)
GrEeZ from SwIzZ: Miro Dietiker
als Antwort auf: [#78178]