Zumal Templates keine Alternative zu Frames und Includes sind - Templates bauen auf Includes auf und können mit Frames kombiniert werden.
Templates funktionieren ganz grob so:
1.) Du lädst das Template in eine Variable. $template = file_get_contents('templates/omgsupertemplate.htm');
2.) Das Template enthält Platzhalter, die du durch konkrete Werte ersetzt. $template = str_replace('%sinndeslebens%', 'Brot essen', $template);
$template = str_replace('%fontsize%', $variable, $template);
3.) Nachdem du alle Ersetzungen durchgeführt hast machst du, was auch immer du mit dem Output tun willst. echo $template;
Zur Veranschaulichung hier noch mal ein Vorher-Nachher-Vergleich. ($variable == 42)
VORHER
NACHHER
Templates sind ziemlich mächtig und erlauben es dir, PHP- und HTML-Code sauber zu trennen, was die Wartbarkeit der Seite beträchtlich erhöhen kann. Du kannst auch problemlos Templates ineinander verschachteln (wie das geht sollte offensichtlich sein) und so auch komplexe Layouts hinkriegen.
Edit:
Ich wurde darauf hingewiesen, daß es nicht offensichtlich ist. Hier also noch mal genau:
Wenn du dein Template abgearbeitet hast, also mit Schritt 2 durch bist, hast du den ganzen Kram in einer Variable. Die kannst du nun wiederum ganz normal in ein anderes Template einfügen. Und schon hast du den Kram verschachtelt. Du muß nur eben darauf achten, daß du alles, was in einem Untertemplate abgearbeitet wird, in einer eigenen Templatedatei ablegst.