Moin moin
ich hab mir ein ein eigenes Template System geschrieben.
Es ist sehr einfach und leicht nachzuvollziehen.
Also zuerst erstellt ihr eure template datei.
Ich hab sie unter tempalte/index.html gespeichert, das könnt ihr natürlich ändern.
Also ich habe zwei versionen gemacht, einmal für PHP 4 und für PHP 5, da PHP 4 (noch) nicht auf Lima läuft
also zuerst einmal die PHP 4 Version:
$title = "der Titel";
$navi = "Das Menü";
$kontent = "Der Kontent bereich";
$datei = fopen("template/index.html", "r"); // die Datei wird im r modus geöffnet (r=read) und unter $datei gespeichert
// jetzt wird jede Zeile einzeln ausgelesen, was recht schnell geht, und, wenn vorhande, %TITLE%, %MENUE% oder %KONTENT%, durch $title, $navi oder $kontent ersetzt, dannach wird die Zeile ausgegeben
while (!feof($datei))
{
$zeile = fgets($datei, 4096);
$zeile = str_replace("%TITLE%", $title, $zeile); // %TITLE% wird durch $title ersetzt
$zeile = str_replace("%MENUE%", $navi, $zeile); // %MENUE% wird durch $navi ersetzt
$zeile = str_replace("%KONTENT%", $kontent, $zeile); // %KONTENT% wird durch $kontent ersetzt
echo $zeile; // die zeile wird ausgegeben
}
fclose($datei); // die template datei wird geschlossen
So und hier die PHP 5 Version.
Das besondere hier dran is file_get_contents, denn damit wird die gesamte Template Datei auf einmal eingelesen und nicht wie oben jede einzelne Zeile.
Dadurch geht das alles wesentlich schneller.
$title = "der Titel";
$navi = "Das Menü";
$kontent = "Der Kontent bereich";
$alles = file_get_contents("template/index.html"); // Datei wird eingelesen
$alles = str_replace("%TITLE%", $title, $alles); // %TITLE% wird durch $title ersetzt
$alles = str_replace("%MENUE%", $navi, $alles); // %MENUE% wird durch $navi ersetzt
$alles = str_replace("%KONTENT%", $kontent, $alles); // %KONTENT% wird durch $kontent ersetzt
echo $alles; // hier wird alles ausgegeben
ihr könnt natürlich weitere Platzhalter einfügen, bzw. auch andere nehmen {TITLE}, (TITLE) usw. Ihr solltet bloß darauf achten, das diese eindeutig sind!Bei Fragen etc. pn an mich.
mfg Lucas