Wir benutzen XML-/HTML-Vorlagen (»Templates«), um Logik (weshalb wird was ausgegeben) und Darstellung (wie sieht es im Brauser aus) voneinander zu trennen. Diese Trennung hat mehr als einen Vorteil:
besseres Anwendungsdesign
Umstrukturierungen werden einfacher
bessere Wartbarkeit
das Design lässt sich leicht ändern
Die meisten Vorlagensysteme (»Template-Systeme«) nutzen <? ?>
-, <% %>
- oder <xxx:yyy></xxx:yyy>
-Auszeichnungen, um die Stellen zu finden, die verarbeitet werden müssen. Dadurch wird die Entwicklung des Vorlagensystems einfacher, dem (Vorlagen-) Designer wird die Arbeit aber unnötig erschwert.
TAL versteckt seine Logik größtenteils in XML-Attributen und erhält dabei die Syntax und Struktur von XHTML. Dadurch ist eine direkte Betrachtung von TAL-Vorlagen in Brausern möglich (WYSIWYG-Editoren, unmittelbare Vorschau). Die HTML-Syntax-Hervorhebung (»Syntax Highlighting«) im Editor wird nicht gestört.
Falls Sie schon einmal mit einem einfachen Vorlagensystem gearbeitet haben, werden Ihnen bereits Codeschnipsel begegnet sein, die ungefähr wie folgt aussehen:
<table>
<%loop myarray as myitem %>
<tr>
<td><% myitem %></td>
</tr>
<%/loop%>
</table>
Mit PHPTAL können Sie das folgendermaßen schreiben:
<table>
<tr tal:repeat="myitem myarray">
<td tal:content="myitem">
text replaced by the item value
</td>
<td tal:replace="">sample 1</td>
<td tal:replace="">sample 2</td>
<td tal:replace="">sample 3</td>
</tr>
</table>
Der obige Code wird samt der enthaltenen Beispieldaten in einem normalen Brauser angezeigt werden, das heißt, dass Sie die Seite Ihren Kunden zeigen können, ohne dass auch nur eine Zeile des Codes, der das Feld myarray
erzeugt, schon existieren muss.
Ein weiterer großer Vorteil von PHPTAL ist, daß Sie von der mehr als 3-jährigen Erfahrung, der Dokumentation und der Hilfe der Zope-Gemeinschaft profitieren. PHPTAL verlässt sich auf diese Gemeinschaft, um seinen Nutzern eine große Menge nützlicher Informationen zu bieten.
PHPTAL ist so aufgebaut, dass es für fortgeschrittene Entwickler und anspruchsvolle (d.h. ressourcenintensive) Systeme so anpassbar wie möglich ist, aber dennoch für den Anfänger durch bequeme und einfache Grundeinstellungen benutzbar bleibt (Wir haben es zumindestens probiert :).