mal ein Beispiel für das Hauptprogramm zu deinem Template:
<?php
class cTemplate {
var $template_string;
function cTemplate($template_file) {
$this->template_string = @file_get_contents($template_file); // Template in einen String einlesen
if ($this->template_string == "") { die("Fehler: Template nicht gefunden"); } // Fehler
}
function assign($marker, $value) { // einer Markierung im Template Daten zuweisen
$this->template_string = str_replace($marker, $value, $this->template_string);
}
function display() { // das Template mit den Inhalten ausgeben
print $this->template_string;
}
}
$html = new cTemplate("template.htm");
$page = $_GET['page'];
switch ($page) {
case 'guestbook_list':
$html->assign("###TITLE###", "Gästebuch");
// Datenbankabfrage usw. und hier evtl. mit Subtemplates für ###CONTENT### arbeiten
$html->assign("###CONTENT###", "");
break;
default:
$html->assign("###TITLE###", "Startseite");
$html->assign("###CONTENT###", "<h3>Hallo Welt,</h3><p>hier kommt Inhalt ...</p>");
}
$html->display();
?>
dann hat man ein Haupttemplate ohne Programmierlogik und kann das Layout sehr schnell für alle Seiten anpassen