TPLE basierend auf PHP wird die Engine
Sie sind hier:|HomeDie Templateengine
In der aktuellen Version verwenden wir noch Smarty, ab 1.0 TPLE (demnächst) verwenden wir unsere eigene Templatengine TPLE.
Die Frage stellt sich warum wir uns nun von Smarty abwenden - hier die Antworten:
- Smarty verwendet einen eigenen Syntax den man erlernen muss, PHP jedoch gehört zum Standard eines Webdesigners, denn PHP ist ein Teil der Lehrpläne, Smarty jedoch nicht.
- Der Einsatz von PHP - Dingen in Smarty geschieht hinten herum durch die Brust in das Auge - wer weiß das PHP ursprünglich ihren Anfang als Templateengine genommen hat, der ahnt wie sinnig so etwas ist.
- Smarty muss Templates compilieren um daraus PHP Scripte zu machen
- Der Aufwand für den Compilierungscheck und Neuerstellung ist hoch, insbesondere in komplexen Systemen mit sehr vielen kleineren Templates - das wird zu Performancefrage
- Die Verwendung von Smarty in Zusammenhang mit einer CMS und Datenbankbetrieb ist zu kompliziert
- Smarty kostet unnötig RAM
- Smarty in der gerade entstehenden Version 3 ist nicht zukunftssicher - in Zeiten von Webbewertungen nach Speed durch die Suchmaschinen kann man es sich nicht leisten, eine Templateengine neu zu erstellen und zu verwenden, die langsamer ist als ihr Vorgänger.
- Eine sinnvolle Umstellung von Smarty 2 auf 3 erfordert einen Komplettumbau eines Titels der Smarty 2 einsetzt, den dafür erforderlichen Aufwand kann man sinnvoller verwenden um da etwas besseres zu etablieren.
TPLE
Rund 200 Programmzeilen und nur 14 Funktionen bietet TPLE alles was man für eine ausgezeichnete Templateengine benötigt.
Es basiert auf PHP und arbeitet mit PHP.
- Zuweisung von PHP Variablen aller Art
- Mehrsprachliche Unterstützung von Templates, d.h. sprachabhängige Ausgabe von Templatebestandteilen - ein Template ->beliebig viele Sprachen
- fetchen von Templatedateien
- fetchen von Templates die in Variable gehalten werden
- Ausgabe von Templatedateien
- Ausgabe von Templates die in Variable gehalten werden
- spezielle Funktionen wie die Ausgabe von Arrays als Select - Feld
- Trimmen der Ausgabe (Entfernung nicht benötigter Zeichen
- Direktverwendung von PiDatabase und PiAjax
- Umfangreiches Pluginsystem
- und einiges mehr
Da PHP verwendet wird steht PHP komplett zur Verfügung - ohne jegliche Einschränkungen.
PHP gehört heute zum Ausbildungsplan jedes Webdesigners, d.h. jeder ausgebildete Designer beherrscht PHP - es ist nicht erforderlich eine besondere Scriptsprache wie z.B. bei Smarty erlernen zu müssen.
Es gibt keinerlei Kompilierung, deswegen werden auch keine Mechanismen zur Überprüfung der Zeitstempel des Templates bzw. eines kompilierten Templates benötigt.
TPLE hat aus dem Grunde und wegen seiner sehr durchdachten und kompakten Struktur eine enorme Geschwindigkeit und Leistung.
Wozu eine Templateengine ?
Man kann sich das Zusammenspiel von TPLE mit den tatsächlichen Inhalten in etwa so vorstellen, das Platzhalter zur Laufzeit mit Inhalten ausgetauscht werden.
Lautet der Name des Platzhalters z.B. content dann wird an dieser Stelle der tatsächliche Inhalt an Stelle des Platzhalters content gesetzt - ähnlich wie bei einem Serienbrief bei denen Platzhalter gegen Teile eines Adressfeldes getauscht werden.
Da aber auch sämtliche Kontrollstrukturen und die Technik von PHP zur Verfügung steht sind damit natürlich erheblich umfangreichere Dinge möglich.
So kann der Inhalt der den Platzhalter content ersetzen soll selbst zusätzliche Platzhalter , Plugins oder andere Templates enthalten, in denen widerum Platzhalter usw. stecken können.
Sie ahnen vielleicht schon welche Mächtigkeit in dem System stecken.
In der Praxis lassen sich damit ungeahnt flexible und extrem dynamische Inhalte erzeugen.
Subnavigation
Erst ab Version 2 bzw. 1.0 TPLE
TPLE ist erprobt in unserem Framework PowerSite.
Die Version 2 von PowerCMS wird umfassend und komplett neu programmiert. Erst in dieser Version wird TPLE in PowerCMS enthalten sein.
In der 1 er Version wird noch Smarty verwendet.
Allerdings werden wir eine Übergangsversion aus der Serie 1 bringen ohne Smarty mit TPLE (eingeschränkter Funktionsumfang zu Version 2)
Daraus können Sie entnehmen, das wir reichlich Erfahrungen mit Templateengines haben und deswegen genau wissen was wir tun und auch wissen, warum wir künftig auf Smarty verzichten werden - die Leistungsfähigkeit von Smarty reicht nicht mehr für unsere Bedürfnisse bei der Version 2 von PowerCMS aus.
