phpbar.de logo

Mailinglisten-Archive

[php] Dumme Frage zu Templates

[php] Dumme Frage zu Templates

Peter Bieling network at media-palette.de
Don Sep 22 09:44:32 CEST 2005


Hallo Sebastian und Lutz,

> Lutz Zetzsche schrieb:

>>genau! Das ist auch noch ein interessanter Punkt. Sollte man nicht direkt
>>XSLT anstatt einer Template Engine verwenden? Immerhin hätte man damit
>>eine weltweit standardisierte Templatesprache, die nicht an PHP gebunden
>>ist, wie es die von Smarty z.B. ist.

da gibt es diverse Nachteile. Ein Vorteil von Templates ist ja 
normalerweise, dass PHPler und HTMLler sich nicht ins Gehege kommen. Da 
XSLT aber schon (fast) als Programmiersprache bezeichnet werden kann, 
die zu sehr komplexen Dokumenten führen kann, verliert ein 
Nicht-Programmierer hier schneller den Durchblick als bei 
PHP-HTML-Mischcode.
Ein extremes Beispiel für die HTML-Darstellung eines FOAF-Dokuments:
http://xml.mfd-consult.dk/foaf/explorer/explorer.xsl
Um solche "Templates" schreiben zu können, ist schon einiges an Wissen 
notwendig.
Selbst einfachere Beispiele, hier etwas von mir aus 2003, werden schnell 
kompliziert, wenn z.B. noch etwas JavaScript mit rein soll:
http://www.media-palette.de/xml-demo/helgoland/02doppel.xml
Hier das XSLT-Stylesheet dazu:
http://www.media-palette.de/xml-demo/programm/quizdoppel.xsl

Sebastian Mendel wrote:
> ja, aber auch die DOM-Dokumente müssen ja erstellt/ausgegeben werden,
> dies muss ja auch mittels einer Template-Engine und/oder PHP geschehen
> ... ist also nur eine weitere Schicht bzw. Unterteilung des VIEWS in
> Daten und Aussehen

Hier stellt sich nun die Frage, ob es einen Unterschied macht, die Daten 
an eine Templateklasse oder an eine XML-Writer-Klasse (o.ä.) 
weiterzureichen - Nur der Vollständigkeit halber (für die, die es nicht 
wissen oder sich ins Archiv verirren): Für die Umwandlung von XML per 
XSLT gibt es Sablotron, als PHP-Erweiterung. (Ist wohl inzwischen auch 
Standard.) Außerdem besteht die Möglichkeit (wenn man sie hat ;-) ) 
XML-Dokumente direkt durch den Apachen mit XALAN 
http://xml.apache.org/#xalan auszugeben.
Der Haupthinderungsgrund ist aus meiner Sicht die Unhandlichkeit und 
Unlesbarkeit von XSLT.

Viele Grüße

Peter





php::bar PHP Wiki   -   Listenarchive