Damit die Lösung für den Kunden auch nach -zig Änderungen immer noch wartbar ist und sich außerdem der Grafiker so richtig austoben kann, ist der Einsatz von Templates an sich immer eine klasse Idee. Aber bevor ich Smarty einsetze, überlege ich lieber zweimal … für kleinere Projekte nutze ich lieber etwas Leichtgewichtigeres wie zum Beispiel eine eigene Template-Klasse.
Um mal ein Beispiel zu geben, wie ich mir den Einsatz vorstelle, hier etwas PHP-Code:
[code lang="php"]require_once ('./include/template.php');
$page = new Template ('templates/page.html');
$page->assign ('title', 'Hallo Welt!');
echo $page->get ();[/code]
Das HTML-Template für mein Beispiel namens templates/page.html sieht dann etwa so aus:
[code lang="html"]
[/code]
Scheint so ähnlich wie Smarty zu funktionieren, oder? Ist aber viel kleiner … mein File include/template.php enthält nur folgenden Code:
[code lang="php"]class Template {
var $content;
var $param = array ();
function Template ($file) {
if (is_readable ($file)) {
$this->content = file_get_contents ($file);
}
}
function assign ($key, $value) {
$this->param[$key] = $value;
}
function get () {
foreach ($this->param as $key => $value) {
$this->content = str_replace ('{' . $key . '}', $value, $this->content);
}
return $this->content;
}
}[/code]
Have fun!