Unübersichtlicher Markt
Template-Engines für PHP gibt es wie Sand am Meer. Allen voran das Urgestein „Smarty“, aber auch neuere Entwicklungen wie „Twig“, das bei Symfony 2 gleich mitgeliefert wird, buhlen um die Gunst der Entwickler.Dabei wird leicht übersehen, dass PHP selbst schon als „Template-Engine“ angelegt ist: Die Zusammensetzung von statischem HTML-Code mit dynamischen Inhalten war von jeher Ziel bei der Entwicklung der Sprache, wie schon das ausgeschriebene Kürzel andeutet (PHP = „PHP: Hypertext Preprocessor“). Das macht zusätzliche Engines eigentlich überflüssig.
Trotzdem werden Engines mit eigener Syntax immernoch wie Sauer Bier™ angepriesen: http://it-republik.de/php/news/Template-Engines-vs.-PHP-058161.html
Unübersichtlicher Code
Warum sich dann ausgerechnet in PHP so viele Engines entwickeln und halten konnten, ist nicht ganz einfach zu beantworten.Einerseits hielt man die volle Mächtigkeit von reinen PHP-Templates wohl für zu komplex und damit auch zu unsicher, als dass man einen Grafikdesigner oder Webseiten-Producer damit konfrontieren könnte. Andererseits waren die sog. „Short Tags“, die zum Produzieren übersichtlicher PHP-Templates erforderlich sind, lange Zeit verpöhnt – übrigens ohne echten Grund –, so dass man nach Alternativen Ausschau hielt.
Als letztes mag sicherlich auch der Spieltrieb vieler Programmierer dazu geführt haben, dass das Thema Template Engines in immer neuer Variation aufgelegt wurde.
Dabei wurde lange Zeit gar nicht berücksichtigt, dass Template Engines alleine das Problem echter Trennung von Logik und Inhalt gar nicht lösen: Sie trennen als reine Textersetzungsautomaten allerhöchstens HTML-Code vom restlichen Text und sind deshalb auf einer eher technischen als logischen Ebene angesiedelt.
In der Folge sind PHP-Projekte, die sich allein auf eine reine Template-Engine als Strukturierungshilfsmittel verlassen, oft nicht viel übersichtlicher als reiner Spaghetticode.
Land in Sicht!
Doch es ist Licht am Ende des Tunnels:Auch PHP-Entwickler haben erkannt, dass es längst bessere Methoden gibt, Übersicht in den eigenen Code zu bringen. Frameworks wie Symfony, die sich an bekannten Standards orientieren, helfen auch unerfahrenen Entwicklern, das eigene Projekt besser und langfristig zu managen.Wenn sich nun noch möglichst viele Entwickler entschließen könnten, ihren geliebten Template-Engines einfach eine Absage zu erteilen und stattdessen auf PHP Bordmittel zurückgriffen, wäre viel geholfen: Niemand müsste sich mehr in die absurde Syntax von Template-Engines einarbeiten und die Webserver danken es mit mehr Performance.
Nur die Entwickler der vielen Template-Entinges wären plötzlich arbeitslos ... aber wäre das wirklich so schlimm?
0 Kommentare:
Kommentar veröffentlichen