Wozu
Suchen
Sitemap
Internet Programmierung
PC zerlegt
PC + Server = WWW
PHP
MySQL
Smarty
TYPO3
selber Programmieren
POV-Ray: PC-Bild
Bücher
Die Matrix


Sie befinden sich hier: Hintergrund / Internet Programmierung / Smarty / 

Die Programmdatei test_21.php soll einfacher werden

Wenn Du dir die Datei test_21.php ansiehst. Wird Dir auffallen, dass HTML- und PHP-Code wild gemischt vorkommt. Die Tags  <?php  und  ?>  trennen jeweils die HTML- und PHP Welt.

 

HTML ist für das Aussehen der Seite zuständig und PHP ist das Programm, das die Benutzereingaben verarbeitet und zusammenstellt, was als nächstes angezeigt werden soll.

Außer der Tatsache, dass das zwei verschiedene par Schuhe sind, ist es meist nicht so, dass der PHP-Code in der Reihenfolge ablaufen soll, in der die Ergebnisse im HTML-Code auftauchen. Das verkompliziert das Zusammenspiel von HTML und PHP noch zusätzlich.

 

Darum soll im Nächsten Schritt HTML und PHP in zwei Dateien getrennt werden.

Aus der Datei test_20.html wird test_30.html ohne viele Änderungen.

Der PHP-Code aus test_21.php kommt in test_31.php

Der HTML-Code aus test_21.php kommt in test_32.tpl (auch Template genannt)

 

Jetzt brauchen wir ein Programm, das die Ergebnisse die in Test_31.php anfallen und angezeigt werden sollen, in test_32.tpl an die richtige Stelle schreibt.

Dazu benutzen wir Smarty. Das ist ein PHP-Programm, das wir von test_31.php aus aufrufen.




Mit der Funktion $smarty->assign(‚Variable’, $Daten) werden Daten an Smarty übergeben.

Mit der Funktion $smarty->display('test_32.tpl') wir Smarty angewiesen das Template test_32.tpl zu holen und die übergebenen Daten an den gekennzeichneten Stellen {$Variable} einzufügen.

$smarty->display ruft echo-Befehle auf um das Ergebnis an den Client zu senden. Dadurch entsteht die Fertige HTML-Seite.




Hier nun die Dateien: Test_30.html, Test_31.php, Test_32.tpl

Und die Tabelle in der Datenbank: User, texte





Anmerkungen zu Smarty

In Smarty ist es möglich die Zeichen für die Smarty-Tags von { $V } auf beliebige andere Zeichen zu setzen z.B. ### $V ###.

 

Smarty wird nachgesagt, es sei langsam, da es Regular expressions benutzt. Dieses Problem umgeht Smarty indem es die Templates in einer Vorverarbeiteten Version zwischenspeichert (kompiliert) und damit ab dem zweiten Aufruf schnell ist.


Genauso funktioniert

der online Laden, der Lernkasten und Typo3, also diese Internetseite.




Nach oben