PHP-Programmierung – Smarty.class.php
Smarty-Templates einsetzen
Template-System ___
Sie möchten in Ihren Seiten den Code vom Design trennen. Dann können Webdesigner an den HTML-Seiten arbeiten, ohne dass sie mit dem PHP-Code zu tun haben, und Programmierer können die PHP-Dateien entwickeln, ohne sich Gedanken über das Design machen zu müssen. Eine Lösung stellt die Verwendung einesTemplate-Systems dar, das mit Vorlagen arbeitet. Ein einfach zu benutzendes Template-System gibt es unter dem Namen Smarty. In einer Smarty-Vorlage werden Strings in geschweiften Klammern durch andere Werte ersetzt:
Hallo {$name}
Der PHP-Code zum Erzeugen der Seite richtet die Variablen ein und zeigt die Vorlage folgendermaßen an:
require ‘Smarty.class.php’;
$smarty = new Smarty; $smarty->assign(‘name’,’Ruby’);
$smarty->display(‘hello.tpl’);
Dies ist ein Smarty-Template, das aus einer Datenbank ausgelesene Zeilen darstellt:
Käse | Land | Preis |
---|---|---|
{$results[id]->kaese} | {$results[id]->land} | {$results[id]->preis} |
Hier sehen Sie die dazugehörige PHP-Datei. Sie lädt die Daten aus der Datenbank und zeigt die in food.tpl gespeicherte Vorlage an:
require ‘Smarty.class.php’;
mysql_connect(‘localhost’,’test’,’test’);
mysql_select_db(‘test’);
$r = mysql_query(‘SELECT * FROM kaesesorten’);
while ($ob = mysql_fetch_object($r)) {
$ob->price =
sprintf(‘$%.02f’,$ob->price);
\pard$results[] = $ob;
}
$smarty = new Smarty;
$smarty->assign(‘results’,$results);
$smarty->display(‘food.tpl’);
Wenn Sie die Basisklasse der Template-Engine (Smarty.class.php) eingeschlossen haben, lesen Sie die Ergebnisse aus der Datenbank, formatieren sie und speichern sie in einemArray.Umanschließend die Seite aus der Vorlage zu generieren, instanziieren Sie einfach ein neues Objekt $smarty, teilen $smarty mit, dass es sich um die Variable $results kümmern soll, und lassen dann $smarty das Template anzeigen. Smarty ist recht einfach zu installieren: Sie brauchen lediglich einige Dateien in Ihren include_path zu kopieren und ein paar Verzeichnisse anzulegen. Die vollständigeAnleitung finden Sie unter smarty. php.net/manual/de/installation.php. Das Online- Manual steht auch in einer deutschen Sprachversion zur Verfügung.Von dieser Website können Sie sich zudem die jeweils aktuellste Template- Engine kostenlos herunterladen. Eine Template-Engine verfügt über eine eigene Skriptsprache,mit der Sie Variablen interpolieren, Schleifen ausführen und andere einfache Operationen implementieren können. Versuchen Sie, dies in Ihren Templates auf einMinimum zu reduzieren, und belassen Sie die Programmierung lieber in Ihren PHP-Dateien.