Moin!
Hallo, ich habe mal eine allgemeine Frage ans Forum.
Soll ich meine Seite komplett mit PHP generieren, also mit echo,
oder sollte ich den HTML-Code von den PHP Anweisungen trennen?
Wie würdet ihr es idealerweise machen?LG
Templates. Ich verwende eine eigene Template-Engine. Und das geht so: Im HTML-Template stehen Platzhalter. Nach dem Berechnen aller Werte wird das Template gelesen, die Werte werden eingesetzt.
<?php
if(!isset($arTemplate['TemplateFile'])) {
die ('Fatal: $arTemplate[\'TemplateFile\'] ist nicht gesetzt!'."\n");
}
if(!is_file($arTemplate['TemplateFile'])) {
die ('Fatal: '.$arTemplate['TemplateFile'].' ist keine Datei!'."\n");
}
if(!is_readable($arTemplate['TemplateFile'])) {
die ('Fatal: '.$arTemplate['TemplateFile'].' ist nicht lesbar!'."\n");
}
$template=file_get_contents($arTemplate['TemplateFile']);
FastixTemplateReplace($arTemplate, $template);
function FastixTemplateReplace($arTemplate, $template) {
$keys=array_keys($arTemplate);
foreach ($keys as $key) {
if ($key != 'TemplateFile') {
$arElement=$arTemplate[$key];
$replace[]=FastixTemplateCreateElement($arElement);
$search[]='$arTemplate[\''.$key.'\']';
}
}
print str_replace($search, $replace, $template);
}
?>
Ein HTML-Template sieht dann so aus:
<html>
<head>
<title>$arTemplate['DocHeadline']</title>
</head>
<body>
<h1>$arTemplate['DocHeadline']</h1>
<p>$arTemplate['DocText']</p>
</body>
</html>
Das geht recht schnell und ist anpassungsfähig und erweiterbar (Ich habe in Projekten noch Tags für Umrechnungen der Währung und Übersetzungen). Natürlich gibt es dafür noch diverse Engines wie z.B. smarty. Die können aber alle zuviel (aber nie das was ich genau brauche...) und sind deswegen langsamer.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development