Es gab viel Aufregung über Smarty 3 und seinen neuen Lexer und wie viel mehr Leistung er Ihnen als Vorlagendesigner geben würde, aber als es tatsächlich auf den Markt kam, war es eine echte Enttäuschung, wie langsam es war. Das Kompilieren einer Vorlage von Grund auf hat in Smarty 3 gut über eine Sekunde gedauert, während die gleiche Vorlage in Smarty 2 etwa eine halbe Sekunde gedauert hätte. Nicht gut.
Aber das hat mich zum Nachdenken gebracht, warum muss man einen vollwertigen Sprachparser in PHP implementieren, wenn es bereits Module wie DOMDocument, SimpleXML und ähnliches zur Verfügung hat?
Gibt es Template-Engines für PHP, die auf den XML-Erweiterungen und/oder DOMDocument basieren? Wenn ja, wie ist die Leistung? Wenn nicht, hat schon mal jemand versucht, eine zu schreiben?
Ein Nachteil, den ich sehe, ist, dass es wirklich nur für XML-basierte Formate wie XHTML und RSS nützlich wäre. Für die Erzeugung anderer Ausgaben (Nicht-XML-HTML, Klartext, CSS usw.) könnte es potenziell problematisch sein, obwohl man das wahrscheinlich mit CDATA-Blöcken umgehen könnte. Gibt es noch andere Implikationen für die Verwendung von XML/DOM für die Vorlagenverarbeitung, die ich nicht berücksichtigt habe?