PHP-Template Engine in einer Zeile

Auf der Suche nach brauchbaren Template-Engines für PHP, die ohne zu großen Overhead auskommen und eine brauchbare Performance bieten können, bin ich über ein sehr smartes Stück Code gestolpert, das mit Sicherheit für viele, insbesondere für kleine Anwendungen mehr als ausreicht. Die Template „Engine“ besteht aus einer Zeile:

1
print preg_replace("/\{([^\{]{1,100}?)\}/e","$$1",file_get_contents("template.tpl"));

Die Datei template.tpl sieht wie folgt aus:

1
2
<h1>{header}</h1>
{text}

Im PHP-Script setzt man jetzt die Variablen analog zu den Template-Platzhaltern:

1
2
3
$title="Example page";
$header="My Examples";
$text="See the placeholders replaced?";

Ich gebe zu: Man kann sich darüber streiten, ob man einer Template-Engine (und nichts anderes ist PHP ja im Prinzip) noch eine weitere Template-Engine überstülpen muss… Grundsätzlich ist es aber mindestens aus Gründen der Übersichtlichkeit sinnvoll, Logik und Darstellung zu trennen. Da kann der Einzeiler insbesondere bei kleinen Projekten sehr hilfreich sein, ohne dass man gleich den Dinosaurier Smarty oder ähnliche Vertreter nutzen muss.

Keinen verwandten Inhalt gefunden.

Ihnen hat dieser Artikel gefallen oder geholfen? Prima! Dann denken Sie doch an mich, wenn Sie eine Webseite benötigen!

Dieser Eintrag wurde veröffentlicht in php und getagged , , , . Bookmarken: Permanent-Link. Kommentieren oder ein Trackback hinterlassen: Trackback-URL.

Ihr Kommentar

Ihre E-Mail-Adresse wird niemals veröffentlicht oder verteilt.

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Time limit is exhausted. Please reload CAPTCHA.

Durch die weitere Nutzung der Seite stimmen Sie der Verwendung von Cookies und eingebundenen Skripten zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn Sie diese Website ohne Änderung der Cookie-Einstellungen verwenden (Navigation) oder auf "Akzeptieren" klickst, erklären Sie sich damit einverstanden. Dann können auch Cookies von Drittanbietern wie Youtube oder Google gesetzt werden. Wenn Sie das nicht wollen, sollten Sie entweder nicht auf "Akzeptieren" klicken und die Seite nicht weiter nutzen, oder Ihren Browser im Inkognito-Modus betreiben, und/oder Anti-Tracking- und Scriptblocker-Plugins nutzen.

Mit einem Klick auf "Akzeptieren" werden zudem extern gehostete Javascripte freigeschaltet, die weitere Informationen, wie beispielsweise die IP-Adresse an Dritte weitergeben können. Welche Informationen das genau sind liegt nicht im Einflussbereich des Betreibers dieser Seite, das bitte bei den Anbietern (jQuery, Google, Youtube, Amazon, Twitter *) erfragen. Wer das nicht möchte, klickt nicht auf "akzeptieren" und verlässt die Seite.

Wer wer seine Identität im Web schützen will, nutzt Browser-Erweiterungen wie beispielsweise uBlock Origin oder ScriptBlock und kann dann Skripte und Tracking gezielt zulassen oder eben unterbinden.

* genauer: eingebettete Tweets, eingebundene jQuery-Bibliotheken, Amazon Artikel-Widgets, Youtube-Videos, Vimeo-Videos

Schließen