Das Template bildet eine Vorlage, die mit verschiedenen (Inhalts)daten gefüllt werden kann. Die Datei kann HTML, Text, XML, TeX oder andere in Textform darstellbare Vorlagen enthalten.
Man verwendet Templates um Design und Inhalt sauber zu trennen. So können Designer und Programmierer parallel an einem Projekt arbeiten.
Auch verwendet man dieses Verfahren, um auf Homepages und in Foren den Betrieb mehrer Design gleichzeitig zu ermöglichen. Dabei bleiben die Inhalte gleich, die Seite wird nur je nach Template anders dargestellt.
Im Template Dokument werden s.g. Templatevariablen verwendet. Der Template Parser? ersetzt diese Variablen dann durch andere Inhalte.
Um eine Template Engine zu verwenden, muss man zwei Dateien erstellen
Das Template könnte so aussehen:
template.tpl
<body>
<p>{NAME}</p>
</body>
Und so könnte dann der PHP-Code aussehen (am Beispiel von Smarty?):
parser.php
$template->assign('NAME', 'Angela Merkel');
Der Browser würde die fertige Seite wie folgt darstellen
template.tpl
<body>
<p>Angela Merkel</p>
</body>
Nicht jede Template Engine benutzt Methoden wie "assign". Namen wie "setvar" oder "merge" sind ebenso möglich. Mit PHP Funktionen wie str_replace kann man sich seine eigene Template Engine in wenigen Schritten selbst schreiben.